02 同行列對角線的格仔

2021-10-02 04:46:15 字數 1348 閱讀 7877

總時間限制: 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複賽 普及組 第二題

#include

using

namespace std;

intmain()

cout

int y=

1;y<=n;y++

) cout

//輸出左上到右下

int y=j;

while

(x>

1&&y>1)

//此時,行數或者列數有乙個為1,該位置為左上角

for(

;x<=n&&y<=n;x++

) cout

//輸出左下到右上

y=j;

while

(x1)

//此時,行數為n或者列數為1,該位置為左下角

for(

;x>=

1&&y<=n;x--

)return0;

}

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,...

02 同行列對角線的格仔

總時間限制 1000ms 記憶體限制 65536kb 描述輸入三個自然數n,i,j 1 i n,1 j n 輸出在乙個n n格的棋盤中 行列均從1開始編號 與格仔 i,j 同行 同列 同一對角線的所有格仔的位置。如 n 4,i 2,j 3表示了棋盤中的第二行第三列的格仔,如下圖 第一列第二列 第三列...

02 同行列對角線的格仔

總時間限制 1000ms 記憶體限制 65536kb 描述輸入三個自然數n,i,j 1 i n,1 j n 輸出在乙個n n格的棋盤中 行列均從1開始編號 與格仔 i,j 同行 同列 同一對角線的所有格仔的位置。如 n 4,i 2,j 3表示了棋盤中的第二行第三列的格仔,如下圖 第一列第二列 第三列...