[ブルーブリッジカップ] [2013年第四Zhenti]クロスマップ印刷
#include <bits/stdc++.h>
using namespace std;
int a[135][135];
int main() {
int n, m;
scanf("%d", &n);
m = 2 * n + 3;
for (int i = 3; i <= m; i++) {
for (int j = 1; j <= i / 2 - 1; j++)
a[i][2 *j - 1] = 1;
if (i & 1)
for (int j = i - 2; j <= i; j++)
a[i][j] = 1;
}
for (int i = 1; i <= m; i++)
for (int j = 1; j <= m; j++)
a[i][j] = a[j][i];
for (int i = 1; i <= m; i++) {
for (int j = 1; j <= m; j++) {
a[i][j + m] = a[i][m - j];
a[i + m][j] = a[m - i][j];
a[i + m][j + m] = a[m - i][m - j];
}
}
for (int i = 1; i <= 2 * m - 1; i++) {
for (int j = 1; j <= 2 * m - 1; j++)
printf(a[i][j] ? "$" : ".");
printf("\n");
}
return 0;
}
- 参考:リンク