java算法 蓝桥杯 格子位置

问题描述

  输入三个自然数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)

输入输出样例解释

  n=4,i=2,j=3表示了棋盘中的第二行第三列的格子,如下图:

第1列 第2列 第3列 第4列  
        第1行
    (2,3)   第2行
        第3行
        第4行

  (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) {左下到右上对角线上的格子的位置}

代码::

package 蓝桥杯java算法训练;

import java.util.Scanner;

public class _3格子位置 {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int N,i,j;
N = scanner.nextInt();
i = scanner.nextInt();
j = scanner.nextInt();
//同行
for (int j2 = 1; j2 <= N; j2++) {
for (int k = 1; k <= N; k++) {
if (j2 == i) System.out.print("("+j2+","+k+")");
}
}
System.out.println();
//同列
for (int j2 = 1; j2 <= N; j2++) {
for (int k = 1; k <= N; k++) {
if (k == j) System.out.print("("+j2+","+k+")");
}
}
System.out.println();
//从左上到右下对角线上的格子的位置
for (int j2 = 1; j2 <= N; j2++) {
for (int k = 1; k <= N; k++) {
if ((k-j2) ==(j-i) || (j2-k)==(i-j)) System.out.print("("+j2+","+k+")");
}
}
System.out.println();
//从左下到右上对角线上的格子的位置
for (int j2 = N; j2 >= 1; j2--) {
for (int k = N; k >= 1; k--) {
if ((k+j2) ==(j+i) ) System.out.print("("+j2+","+k+")");
}
}

}
}

时间: 2024-08-03 14:35:27

java算法 蓝桥杯 格子位置的相关文章

java算法 蓝桥杯 扶老奶奶街

一共有5个红领巾,编号分别为A.B.C.D.E,老奶奶被他们其中一个扶过了马路. 五个红领巾各自说话: A :我和E都没有扶老奶奶 B :老奶奶是被C和E其中一个扶过大街的 C :老奶奶是被我和D其中一个扶过大街的 D :B和C都没有扶老奶奶过街 E :我没有扶老奶奶 已知五个红领巾中有且只有2个人说的是真话,请问是谁扶这老奶奶过了街? 若有多个答案,在一行中输出,编号之间用空格隔开. 例如 A B C D E(这显然不是正确答案) 代码:: package 蓝桥杯java算法训练; publi

java算法 蓝桥杯(题+答案) 抽签

5.抽签  (代码填空) X星球要派出一个5人组成的观察团前往W星.其中:A国最多可以派出4人.B国最多可以派出2人.C国最多可以派出2人..... 那么最终派往W星的观察团会有多少种国别的不同组合呢? 下面的程序解决了这个问题.数组a[] 中既是每个国家可以派出的最多的名额.程序执行结果为:DEFFFCEFFFCDFFFCDEFFCCFFFCCEFFCCDFFCCDEFBEFFFBDFFFBDEFFBCFFFBCEFFBCDFFBCDEF....(以下省略,总共101行) 1 public c

java算法 蓝桥杯(题+答案) 生日蜡烛

2.生日蜡烛  (结果填空) 某君从某年开始每年都举办一次生日party,并且每次都要吹熄与年龄相同根数的蜡烛.现在算起来,他一共吹熄了236根蜡烛.请问,他从多少岁开始过生日party的?请填写他开始过生日party的年龄数.注意:你提交的应该是一个整数,不要填写任何多余的内容或说明性文字. 1 public class _2生日蜡烛 { 2 public static void main(String[] args) { 3 for (int i = 1; i <= 100; i++) {

java算法 蓝桥杯(题+答案) 煤球数目

1.煤球数目  (结果填空) 有一堆煤球,堆成三角棱锥形.具体:第一层放1个,第二层3个(排列成三角形),第三层6个(排列成三角形),第四层10个(排列成三角形),....如果一共有100层,共有多少个煤球? 请填表示煤球总数目的数字.注意:你提交的应该是一个整数,不要填写任何多余的内容或说明性文字. 1 public class _1煤球数目 { 2 public static void main(String[] args) { 3 int sum=0; 4 int dangqian = 0

算法-蓝桥杯习题(七)

蓝桥杯习题 蓝桥杯练习系统习题加答案,总共分为6部分,90%习题使用C语言解答,部分使用C++或者Java.大部分习题为搜索参考或者别人提供所得,不足之处在所难免,恳请批评指正(预计200多题,习题仅供学习交流) 目录 算法训练(详见 算法-蓝桥杯习题(一))Go 算法训练(详见 算法-蓝桥杯习题(二))Go 算法提高(waiting...) 历届试题(详见 算法-蓝桥杯习题(六))Go 历届试题(详见 算法-蓝桥杯习题(七))Go 蓝桥杯练习系统评测数据 链接: http://pan.baid

算法-蓝桥杯习题(六)

蓝桥杯习题 蓝桥杯练习系统习题加答案,总共分为6部分,90%习题使用C语言解答,部分使用C++或者Java.大部分习题为搜索参考或者别人提供所得,不足之处在所难免,恳请批评指正(预计200多题,习题仅供学习交流) 目录 算法训练(详见 算法-蓝桥杯习题(一))Go 算法训练(详见 算法-蓝桥杯习题(二))Go 算法提高(waiting...) 历届试题(详见 算法-蓝桥杯习题(六))Go 历届试题(详见 算法-蓝桥杯习题(七))Go 蓝桥杯练习系统评测数据 链接: http://pan.baid

算法-蓝桥杯习题(四)

蓝桥杯习题 蓝桥杯练习系统习题加答案,总共分为6部分,90%习题使用C语言解答,部分使用C++或者Java.大部分习题为搜索参考或者别人提供所得,不足之处在所难免,恳请批评指正(预计200多题,习题仅供学习交流) 目录 算法训练(详见 算法-蓝桥杯习题(一))Go 算法训练(详见 算法-蓝桥杯习题(二))Go 算法提高(waiting...) 历届试题(详见 算法-蓝桥杯习题(六))Go 历届试题(详见 算法-蓝桥杯习题(七))Go 蓝桥杯练习系统评测数据 链接: http://pan.baid

算法-蓝桥杯习题

蓝桥杯习题 习题更新ing...... 入门训练(4题) 1 /* 2 入门训练 A+B问题 3 4 问题描述 5 输入A.B,输出A+B. 6 说明:在“问题描述”这部分,会给出试题的意思,以及所要求的目标. 7 输入格式 8 输入的第一行包括两个整数,由空格分隔,分别表示A.B. 9 说明:“输入格式”是描述在测试你的程序时,所给的输入一定满足的格式. 10 11 做题时你应该假设所给的输入是一定满足输入格式的要求的,所以你不需要对输入的格式进行检查.多余的格式检查可能会适得其反,使用你的程

算法-蓝桥杯习题(二)

蓝桥杯习题 算法训练(111题) 1 /* 2 算法训练 明明的随机数 3 4 问题描述 5 明明想在学校中请一些同学一起做一项问卷调查,为了实验的客观性,他先用计算机生成了N个1到1000之间的随机整数(N≤100),对于其中重复的数字,只保留一个,把其余相同的数去掉,不同的数对应着不同的学生的学号.然后再把这些数从小到大排序,按照排好的顺序去找同学做调查.请你协助明明完成“去重”与“排序”的工作. 6 输入格式 7 输入有2行,第1行为1个正整数,表示所生成的随机数的个数: 8 N 9 第2