1 条题解
-
0
/* 解题思路: 这道题目需要输出与给定格子同行、同列、同一对角线的所有格子的位置。 对于同行和同列的情况,只需要按照顺序输出即可; 对于同一对角线上的格子,需要根据它们的特点进行推导。一个格子位于左上到右下对角线上,当且仅当它的行号与列号的差相等; 一个格子位于左下到右上对角线上,当且仅当它的行号与列号的和相等。 因此,我们可以通过遍历整个棋盘,判断每个格子是否位于同行、同列、同一对角线,如果是,则输出它的位置。 */ #include <iostream> using namespace std; const int MAX_N = 10; int main() { int n, i, j; cin >> n >> i >> j; // 输出同一行上格子的位置 for (int y = 1; y <= n; y++) { cout << "(" << i << "," << y << ") "; } cout << endl; // 输出同一列上格子的位置 for (int x = 1; x <= n; x++) { cout << "(" << x << "," << j << ") "; } cout << endl; // 输出左上到右下对角线上的格子的位置 for (int x = 1; x <= n; x++) { int y = x - i + j; if (y >= 1 && y <= n) { cout << "(" << x << "," << y << ") "; } } cout << endl; // 输出左下到右上对角线上的格子的位置 for (int x = n; x >= 1; x--) { int y = i + j - x; if (y >= 1 && y <= n) { cout << "(" << x << "," << y << ") "; } } cout << endl; return 0; }
- 1
信息
- ID
- 245
- 时间
- 1000ms
- 内存
- 256MiB
- 难度
- 10
- 标签
- (无)
- 递交数
- 4
- 已通过
- 1
- 上传者