题目描述:输入三个自然数Nij1==N1==N输出在一个NN格的棋盘中行列均从1开始编号与格子ij同行、同列、同一对角线的所有格子的位置。如:n=4i=2j=3表示了棋盘中的第二行第三列的格子当n=4i=2j=3时输出的结果是:21222324同一行上格子的位置13233343同一列上格子的位置122334左上到右下对角线上的格子的位置41322314左下到右上对角线上的格子的位置输入:一行三个自
#include
int main() { int N, i, j; cin >> N >> i >> j;
// 同一行
for(int k=1; k<=N; k++) {
cout << "(" << i << "," << k << ")";
if(k != N) {
cout << " ";
}
}
cout << endl;
// 同一列
for(int k=1; k<=N; k++) {
cout << "(" << k << "," << j << ")";
if(k != N) {
cout << " ";
}
}
cout << endl;
// 左上到右下对角线
int startRow = i - min(i, j);
int startCol = j - min(i, j);
while(startRow <= N && startCol <= N) {
cout << "(" << startRow << "," << startCol << ")";
startRow++;
startCol++;
if(startRow <= N && startCol <= N) {
cout << " ";
}
}
cout << endl;
// 左下到右上对角线
startRow = i + min(N-i, j-1);
startCol = j - min(N-i, j-1);
while(startRow >= 1 && startCol <= N) {
cout << "(" << startRow << "," << startCol << ")";
startRow--;
startCol++;
if(startRow >= 1 && startCol <= N) {
cout << " ";
}
}
return 0;
原文地址: https://www.cveoy.top/t/topic/inpa 著作权归作者所有。请勿转载和采集!