02:同行列对角线的格子

02:同行列对角线的格子

总时间限制: 
1000ms

内存限制: 
65536kB
描述

输入三个自然数N,i,j (1<=i<=N,1<=j<=N),输出在一个N*N格的棋盘中(行列均从1开始编号),与格子(i,j)同行、同列、同一对角线的所有格子的位置。

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


第一列


第二列


第三列


第四列

 
       
第一行

   
(2,3)

 
第二行

       
第三行

       
第四行

当n=4,i=2,j=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,i,j,相邻两个数之间用单个空格隔开。1 <= N <= 10。
输出
四行:
第一行:从左到右输出同一行格子位置;
第二行:从上到下输出同一列格子位置;
第三行:从左上到右下输出同一对角线格子位置;
第四行:从左下到右上输出同一对角线格子位置。

其中每个格子位置用如下格式输出:(x,y),x为行号,y为列号,采用英文标点,中间无空格。
相邻两个格子位置之间用单个空格隔开。

样例输入
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)
来源
NOIP1996复赛 普及组 第二题

 1 #include<iostream>
 2 #include<cstring>
 3 #include<cstdio>
 4 #include<algorithm>
 5 using namespace std;
 6 int a[10001][10001];
 7 int b[10001][10001];
 8 int ans[10001][10001];
 9 int now;
10 int tot;
11 int main()
12 {
13     int n,x,y;
14     cin>>n>>x>>y;
15     for(int i=1;i<=n;i++)
16     {
17         for(int j=1;j<=n;j++)
18         {
19             if(i==x)
20             cout<<"("<<i<<","<<j<<")"<<" ";
21         }
22     }
23     cout<<endl;
24     for(int i=1;i<=n;i++)
25     {
26         for(int j=1;j<=n;j++)
27         {
28             if(j==y)
29             cout<<"("<<i<<","<<j<<")"<<" ";
30         }
31     }
32     cout<<endl;
33     for(int i=1;i<=n;i++)
34     {
35         for(int j=1;j<=n;j++)
36         {
37             if((j-i)==(y-x))
38             cout<<"("<<i<<","<<j<<")"<<" ";
39         }
40     }
41     cout<<endl;
42     for(int i=n;i>=1;i--)
43     {
44         for(int j=n;j>=1;j--)
45         {
46             if((i+j)==(y+x))
47             cout<<"("<<i<<","<<j<<")"<<" ";
48         }
49     }
50     return 0;
51 }

时间: 2024-08-05 22:54:47

02:同行列对角线的格子的相关文章

同行列对角线的格子

传送门:http://noi.openjudge.cn/ch0108/02/ 总时间限制: 1000ms 内存限制: 65536kB 描述 输入三个自然数N,i,j (1<=i<=N,1<=j<=N),输出在一个N*N格的棋盘中(行列均从1开始编号),与格子(i,j)同行.同列.同一对角线的所有格子的位置. 如:n=4,i=2,j=3表示了棋盘中的第二行第三列的格子,如下图: 当n=4,i=2,j=3时,输出的结果是: (2,1) (2,2) (2,3) (2,4)        

同行列对角线的格

同行列对角线的格 链接: [题目描述] 输入三个自然数N,i,j(1<=i<=n,1<=j<=n),输出在一个N*N格的棋盘中(行列均从1开始编号),与格子(i,j)同行.同列.同一对角线的所有格子的位置. 如:n=4,i=2,j=3表示了棋盘中的第二行第三列的格子, 当n=4,i=2,j=3时,输出的结果是: (2,1) (2,2) (2,3) (2,4)              同一行上格子的位置 (1,3) (2,3) (3,3) (4,3)              同一

整理小朋友在noi.openjudge上的作业(1)

NOI(题库正在建设中,做题纪录有可能会被删除,请注意) 第一章的统计放前面 1 编程基础之输入输出 10 0 0% 最基础有空补刷 2 编程基础之变量定义.赋值及转换 10 0 0% 最基础有空补刷 3 编程基础之算术表达式与顺序执行 20 0 0% 最基础有空补刷 4 编程基础之逻辑表达式与条件分支 21 0 0% 最基础有空补刷 5 编程基础之循环控制 45 10 22% 最基础有空补刷 6 编程基础之一维数组 15 5 33% 最基础有空补刷 7 编程基础之字符串 35 0 0% 有必要

2.4-?:转C++脑子康复水题训练

4/∞ 这里是日常的脑子康复转C++训练.真是失策啊把第一月计任务和转语言弄一起了 为了转语言刷的水题都羞耻于扔月计上凑数(这个坑用来装羞耻题 一样不放题目,需要的自行baidu.com --------------------- 1.蛇形填数 1 #include<cstdio> 2 #include<iostream> 3 #include<cstring> 4 #define MAXN 25 5 using namespace std; 6 int a[MAXN]

noi题库(noi.openjudge.cn) 1.8编程基础之多维数组T1——T10

T01 矩阵交换行 描述 给定一个5*5的矩阵(数学上,一个r×c的矩阵是一个由r行c列元素排列成的矩形阵列),将第n行和第m行交换,输出交换后的结果. 输入 输入共6行,前5行为矩阵的每一行元素,元素与元素之间以一个空格分开.第6行包含两个整数m.n,以一个空格分开.(1 <= m,n <= 5) 输出 输出交换之后的矩阵,矩阵的每一行元素占一行,元素之间以一个空格分开. 样例输入 1 2 2 1 2 5 6 7 8 3 9 3 0 5 3 7 2 1 4 6 3 0 8 2 4 1 5 样

矩阵游戏|ZJOI2007|BZOJ1059|codevs1433|luoguP1129|二分图匹配|匈牙利算法|Elena

1059: [ZJOI2007]矩阵游戏 Time Limit: 10 Sec  Memory Limit: 162 MB Description 小Q是一个非常聪明的孩子,除了国际象棋,他还很喜欢玩一个电脑益智游戏--矩阵游戏.矩阵游戏在一个N *N黑白方阵进行(如同国际象棋一般,只是颜色是随意的).每次可以对该矩阵进行两种操作:行交换操作:选择 矩阵的任意两行,交换这两行(即交换对应格子的颜色)列交换操作:选择矩阵的任意行列,交换这两列(即交换 对应格子的颜色)游戏的目标,即通过若干次操作,

八皇后以及N皇后问题分析

八皇后是一个经典问题,在8*8的棋盘上放置8个皇后,每一行不能互相攻击. 因此 拓展出 N皇后问题. 下面慢慢了解解决这些问题的方法: 回溯法: 回溯算法也叫试探法,它是一种系统地搜索问题的解的方法. 回溯算法的基本思想是:从一条路往前走,能进则进,不能进则退回来,换一条路再试. 在现实中,有很多问题往往需要我们把其所有可能穷举出来,然后从中找出满足某种要求的可能或最优的情况,从而得到整个问题的解. 回溯算法就是解决这种问题的“通用算法”,有“万能算法”之称. N皇后问题在N增大时就是这样一个解

[算法] N 皇后

N皇后问题是一个经典的问题,在一个N*N的棋盘上放置N个皇后,每行一个并使其不能互相攻击(同一行.同一列.同一斜线上的皇后都会自动攻击). 一. 求解N皇后问题是算法中回溯法应用的一个经典案例 回溯算法也叫试探法,它是一种系统地搜索问题的解的方法.回溯算法的基本思想是:从一条路往前走,能进则进,不能进则退回来,换一条路再试. 在现实中,有很多问题往往需要我们把其所有可能穷举出来,然后从中找出满足某种要求的可能或最优的情况,从而得到整个问题的解.回溯算法就是解决这种问题的“通用算法”,有“万能算法

算法-回溯法初探-n皇后问题

问题描述: 这周的数据结构作业要求写一个程序判断输入为n的所有皇后的情况, 皇后大致就是在一个n*n的棋盘上所有不同行列及不同对角线的格子排列 提示用书本上求解迷宫时用到的回溯法,也就是用到一个栈来保存当前满足的皇后,若进行不下去则回溯 采用C语言实现 代码: 1,文件 BetterQueen.h 里面主要定义了一些程序要用到的数据结构和函数接口 #ifndef BETTERQUEEN_H_INCLUDED #define BETTERQUEEN_H_INCLUDED #include <std