描述
输入三个自然数N,i,j (1<=i<=N,1<=j<=N),输出在一个N*N格的棋盘中,与格子(i,j)同行、同列、同一对角线的所有格子的位置。
输入描述:
输入共三行,分别输入自然数N,i,j。其中保证N<=24且1<=i<=N,1<=j<=N。
输入样例:
4
2
3
输出描述:
输出共四行。第一行为与格子(i,j)同行的所有格子的位置,第二行为与格子(i,j)同列的所有格子的位置,第三行为从左上到右下对角线上的格子的位置,第四行为从左下到右上对角线上的格子的位置。
输出样例:
(2,1) (2,2) (2,3) (2,4)
(1,3) (2,3) (3,3) (4,3)
(1,2) (2,3) (3,4)
(1,4) (2,3) (3,2) (4,1)
package list;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
int N = input.nextInt(); //数据的读入
int i = input.nextInt(); //同上
int j = input.nextInt(); //同上
int arr[][] = new int[N][N]; //创建一个二维的数组
int temp1, temp2;
for (int x = 1; x <= N; x++) { //同一行的输出
System.out.print("(" + i + "," + x + ")");
}
System.out.println();
for (int x = 1; x <= N; x++) { //同一列的输出
System.out.print("(" + x + "," + j + ")");
}
System.out.println();
temp1 = i;
temp2 = j;
while (temp1 != 1 && temp2 != 1) { //是(temp1,temp2)为最左边的坐标
temp1--;
temp2--;
}
while (temp1 <= N && temp2 <= N) { //遍历左上到右下对角线一遍
System.out.print("(" + temp1 + "," + temp2 + ")");
temp1++;
temp2++;
}
System.out.println();
temp1 = i;
temp2 = j;
while(temp1!=1&&temp2!=N){ //使(temp1,temp2)为最左边的坐标
temp1--;temp2++;
}
while (temp1 <= N && temp2 >= 1) { //遍历左下到右上对角线一遍
System.out.print("(" + temp1 + "," + temp2 + ")");
temp1++;
temp2--;
}
}
}