格子位置

来源:互联网 发布:淘宝鹊桥网站 编辑:程序博客网 时间:2024/04/28 01:47
问题描述
输入三个自然数N,i,j (1<=i<=N,1<=j<=N),输出在一个N*N格的棋盘中,与格子(i,j)同行、同列、同一对角线的所有格子的位置。
输入格式
输入共三行,分别输入自然数N,i,j。其中保证N<=24且1<=i<=N,1<=j<=N。
输出格式
输出共四行。第一行为与格子(i,j)同行的所有格子的位置,第二行为与格子(i,j)同列的所有格子的位置,第三行为从左上到右下对角线上的格子的位置,第四行为从左下到右上对角线上的格子的位置。
样例输入
4
2
3
样例输出
(2,1)(2,2)(2,3)(2,4)
(1,3)(2,3)(3,3)(4,3)
(1,2)(2,3)(3,4)

(4,1)(3,2)(2,3)(1,4)


import java.util.*;public class Main8 {public static int N, i, j;public static void main(String[] args) {// TODO Auto-generated method stubScanner sc = new Scanner(System.in);N = sc.nextInt();i = sc.nextInt();j = sc.nextInt();// 输出行for (int k = 1; k <= N; k++) {System.out.print("(" + i + "," + k + ")");}System.out.print("\n");// 输出列for (int k = 1; k <= N; k++) {System.out.print("(" + k + "," + j + ")");}System.out.print("\n");// 输出左上到右下String str = "";for (int k = i, n = j; k > 0 && n > 0; k--, n--) {str = "(" + k + "," + n + ")" + str;}for (int k = i + 1, n = j + 1; k <= N && n <= N; k++, n++) {str = str + "(" + k + "," + n + ")";}System.out.println(str);//// 输出右下到左上str = "";for (int k = i, n = j; k <= N && n > 0; k++, n--) {str = "(" + k + "," + n + ")" + str;}for (int k = i - 1, n = j + 1; k > 0 && n <= N; k--, n++) {str = str + "(" + k + "," + n + ")";}System.out.println(str);}}


0 0
原创粉丝点击