Skakac
의견: 0
Mirko and Slavko are playing the popular new game known as The Knight. Mirko places a knight chess piece on an \(N \times N\) chessboard and, with Slavko blindfolded, makes exactly \(T\) moves, one per second. After that, Slavko must guess the final position of the knight in order to win.
The chessboard in this game is unusual in that each square is blocked part of the time. More precisely, each square is labelled by a positive integer. A square labelled by number \(K\) is clear only during seconds \(0, K, 2K, 3K\) etc; it is blocked at all other times. The knight can, of course, occupy a square only while the square is clear.
The game begins in second \(0\). In each second Mirko must make a move (selecting one of \(8\) possible L-shaped moves, two squares in one direction and one square in the other, as per standard chess rules), provided that the destination square is not blocked during the next second. Help Slavko by writing a program to calculate all possible squares that the knight can possibly occupy after \(T\) moves.
In test cases worth 40% of total points, the number of moves T will be less than 50 000.
\(1^{st}\) round, October \(22^{nd}\), 2011
The first line of input contains two positive integers, \(N\) (\(3 \le N \le 30\)), the size of the chessboard, and \(T\) (\(1 \le T \le 1\,000\,000\)), the number of moves that Mirko will make.
The second line of input contains two positive integers \(X\) and \(Y\) (\(1 \le X, Y \le N\)), the row and column indices of the knight's starting square selected by Mirko.
The next \(N\) lines each contain \(N\) positive integers less than \(10^9\) (one billion), the values of \(K\) for the corresponding chessboard squares.
The first line of output must contain the nonnegative integer \(M\), the number of squares that the knight can possibly occupy after \(T\) moves.
The next \(M\) lines must contain indices of those squares, sorted by increasing row index, with cells in the same row sorted by increasing column index.
Scoring: In test cases worth \(40\%\) of total points, the number of moves \(T\) will be less than \(50\,000\).
| 서브태스크 | 점수 | 설명 |
|---|---|---|
Test 1 | 10점 | None |
Test 2 | 10점 | None |
Test 3 | 10점 | None |
Test 4 | 10점 | None |
Test 5 | 10점 | None |
Test 6 | 10점 | None |
Test 7 | 10점 | None |
Test 8 | 10점 | None |
Test 9 | 10점 | None |
Test 10 | 10점 | None |
3 2
1 1
1 3 2
2 3 2
3 1 12
1 1
1 35 6
2 3
4 5 3 2 3
1 3 4 3 1
3 4 1 3 2
4 4 2 1 3
4 6 4 9 25
1 4
2 1
2 5
4 5
5 23 3
2 2
3 6 4
2 2 5
1 3 70평가 및 의견
Skakac
Log in to rate problems.
아직 의견이 없습니다. 자격이 된다면 위 양식에서 가장 먼저 평가해 보세요.
풀이 제출
Skakac