题解 | #棋子翻转#
棋子翻转
http://www.nowcoder.com/practice/a8c89dc768c84ec29cbf9ca065e3f6b4
笨方法来了啊(手动狗头)
public class Solution {
public int[][] flipChess (int[][] A, int[][] f) {
for (int i = 0; i < f.length; i ++) {
int x = f[i][0] - 1;
int y = f[i][1] - 1;
if (x == 0 && y == 0) {
A[x + 1][y] = 1 - A[x + 1][y];
A[x][y + 1] = 1 - A[x][y + 1];
}
if (x == 0 && y == 3) {
A[x + 1][y] = 1 - A[x + 1][y];
A[x][y - 1] = 1 - A[x][y - 1];
}
if (x == 3 && y == 3) {
A[x - 1][y] = 1 - A[x - 1][y];
A[x][y - 1] = 1 - A[x][y - 1];
}
if (x == 3 && y == 0) {
A[x - 1][y] = 1 - A[x - 1][y];
A[x][y + 1] = 1 - A[x][y + 1];
}
if (x == 0 && y > 0 && y < 3) {
A[x + 1][y] = 1 - A[x + 1][y];
A[x][y + 1] = 1 - A[x][y + 1];
A[x][y - 1] = 1 - A[x][y - 1];
}
if (x == 3 && y > 0 && y < 3) {
A[x - 1][y] = 1 - A[x - 1][y];
A[x][y + 1] = 1 - A[x][y + 1];
A[x][y - 1] = 1 - A[x][y - 1];
}
if (y == 0 && x > 0 && x < 3) {
A[x][y + 1] = 1 - A[x][y + 1];
A[x + 1][y] = 1 - A[x + 1][y];
A[x - 1][y] = 1 - A[x - 1][y];
}
if (y == 3 && x > 0 && x < 3) {
A[x][y - 1] = 1 - A[x][y - 1];
A[x - 1][y] = 1 - A[x - 1][y];
A[x + 1][y] = 1 - A[x + 1][y];
}
if (x > 0 && x < 3 && y > 0 && y < 3) {
A[x][y - 1] = 1 - A[x][y - 1];
A[x][y + 1] = 1 - A[x][y + 1];
A[x - 1][y] = 1 - A[x - 1][y];
A[x + 1][y] = 1 - A[x + 1][y];
}
}
return A;
}
}