http://oj.tsinsen.com/A1101###
提示:没什么好说的,小心它要求的输出顺序就好了。
代码:
#include "bits/stdc++.h"
using namespace std;
struct Node { int x, y; };
vector <Node> v[4];
int main() {
int n, r, c;
scanf("%d%d%d", &n, &r, &c);
for (int i = 1; i <= n; ++i)
for (int j = 1; j <= n; ++j) {
if (i == r) v[0].push_back({ i, j });
if (j == c) v[1].push_back({ i, j });
if (j - i == c - r) v[2].push_back({ i, j });
if (j + i == c + r) v[3].push_back({ i, j });
}
for (int i = 0; i < 3; ++i) {
int size = v[i].size();
for (int j = 0; j < size; ++j)
printf("(%d,%d)", v[i][j].x, v[i][j].y);
putchar('\n');
}
for (int i = v[3].size() - 1; i >= 0; --i)
printf("(%d,%d)", v[3][i].x, v[3][i].y);
return 0;
}