信息奥赛一本通(1120:同行列对角线的格)
1120:同行列對角線的格
時間限制: 1000 ms ??? ??? 內存限制: 65536 KB
提交數: 34121 ??? 通過數: 14340
【題目描述】
輸入三個自然數nn,ii,j(1≤i≤n,1≤j≤n)j(1≤i≤n,1≤j≤n),輸出在一個n×nn×n格的棋盤中(行列均從11開始編號),與格子(ii,jj)同行、同列、同一對角線的所有格子的位置。
如:n=4n=4,i=2i=2,j=3j=3表示了棋盤中的第二行第三列的格子,
當n=4n=4,i=2i=2,j=3j=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)?? ? ? ? ? ? ?左下到右上對角線上的格子的位置
【輸入】
一行,三個自然數nn,ii,jj,相鄰兩個數之間用單個空格隔開(1≤n≤101≤n≤10)。
【輸出】
第一行:從左到右輸出同一行格子位置;
第二行:從上到下輸出同一列格子位置;
第三行:從左上到右下輸出同一對角線格子位置;
第四行:從左下到右上輸出同一對角線格子位置。
其中每個格子位置用如下格式輸出:(xx,yy),xx為行號,yy為列號,采用英文標點,中間無空格。相鄰兩個格子位置之間用單個空格隔開。
【輸入樣例】
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)【輸出樣例】
#include<stdio.h> int main() {int n,i,j;int x,y;scanf("%d%d%d",&n,&i,&j);for(y=1;y<=n;y++)printf("(%d,%d) ",i,y);printf("\n");for(x=1;x<=n;x++)printf("(%d,%d) ",x,j);printf("\n");for(x=1,y=x+j-i;x<=n;x++,y++){if(y>=1 && y<=n)printf("(%d,%d) ",x,y);}printf("\n");for(x=n,y=i+j-x;x>=1;x--,y++){if(y>=1 && y<=n)printf("(%d,%d) ",x,y);}printf("\n");return 0; }http://ybt.ssoier.cn:8088/problem_show.php?pid=1120
總結
以上是生活随笔為你收集整理的信息奥赛一本通(1120:同行列对角线的格)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 信息学奥赛一本通(2065:【例2.2】
- 下一篇: 信息学奥赛一本通 1123:图像相似度