結果
| 問題 |
No.2797 Square Tile
|
| コンテスト | |
| ユーザー |
chro_96
|
| 提出日時 | 2024-06-28 23:04:55 |
| 言語 | C (gcc 13.3.0) |
| 結果 |
AC
|
| 実行時間 | 7 ms / 2,000 ms |
| コード長 | 1,325 bytes |
| コンパイル時間 | 121 ms |
| コンパイル使用メモリ | 30,592 KB |
| 実行使用メモリ | 5,376 KB |
| 最終ジャッジ日時 | 2024-06-28 23:04:57 |
| 合計ジャッジ時間 | 1,268 ms |
|
ジャッジサーバーID (参考情報) |
judge5 / judge2 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 2 |
| other | AC * 21 |
ソースコード
#include <stdio.h>
int gcd (int a, int b) {
if (b <= 0) {
return a;
}
return gcd(b, a%b);
}
int main () {
int a = 0;
int b = 0;
int res = 0;
int ans[2][20000][2] = {};
int g = 0;
res = scanf("%d", &a);
res = scanf("%d", &b);
g = gcd(a, b);
for (int i = 0; i < g; i++) {
ans[0][i*(a*a+b*b)/g][0] = i*(a+b);
ans[0][i*(a*a+b*b)/g][1] = (i*(a*a+b*b+b-a))%(a*a+b*b);
for (int j = 1; j < (a*a+b*b)/g; j++) {
ans[0][i*(a*a+b*b)/g+j][0] = ans[0][i*(a*a+b*b)/g+j-1][0]+a;
ans[0][i*(a*a+b*b)/g+j][1] = ans[0][i*(a*a+b*b)/g+j-1][1]+b;
ans[0][i*(a*a+b*b)/g+j][0] %= a*a+b*b;
ans[0][i*(a*a+b*b)/g+j][1] %= a*a+b*b;
}
}
for (int i = 0; i < g; i++) {
ans[1][i*(a*a+b*b)/g][0] = (a+i*(a+b))%(a*a+b*b);
ans[1][i*(a*a+b*b)/g][1] = (i*(a*a+b*b+b-a))%(a*a+b*b);
for (int j = 1; j < (a*a+b*b)/g; j++) {
ans[1][i*(a*a+b*b)/g+j][0] = ans[1][i*(a*a+b*b)/g+j-1][0]+a;
ans[1][i*(a*a+b*b)/g+j][1] = ans[1][i*(a*a+b*b)/g+j-1][1]+b;
ans[1][i*(a*a+b*b)/g+j][0] %= a*a+b*b;
ans[1][i*(a*a+b*b)/g+j][1] %= a*a+b*b;
}
}
for (int i = 0; i < a*a+b*b; i++) {
printf("%d %d\n", ans[0][i][0], ans[0][i][1]);
}
for (int i = 0; i < a*a+b*b; i++) {
printf("%d %d\n", ans[1][i][0], ans[1][i][1]);
}
return 0;
}
chro_96