結果
問題 |
No.401 数字の渦巻き
|
ユーザー |
|
提出日時 | 2016-12-22 02:11:10 |
言語 | C++11(廃止可能性あり) (gcc 13.3.0) |
結果 |
TLE
|
実行時間 | - |
コード長 | 1,029 bytes |
コンパイル時間 | 660 ms |
コンパイル使用メモリ | 81,860 KB |
実行使用メモリ | 16,836 KB |
最終ジャッジ日時 | 2024-12-14 14:15:53 |
合計ジャッジ時間 | 7,617 ms |
ジャッジサーバーID (参考情報) |
judge3 / judge4 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | AC * 29 TLE * 1 |
ソースコード
#define _USE_MATH_DEFINES #include<stdio.h> #include<string> #include<iostream> #include<cctype> #include<cstdio> #include<vector> #include<stack> #include<queue> #include <algorithm> #include<math.h> #include<set> #include<map> #include<iomanip> //#include<bits/stdc++.h> using namespace std; int r[50][50]; int main() { int n; cin >> n; int s = 1; int p = n-1; int x = 0, y = 0, d = 0; while (s <= n*n) { d %= 4; for (int i = 0; i < p; i++) { if (r[y][x])break; if (d == 0)r[y][x] = s, x++; if (d == 1)r[y][x] = s, y++; if (d == 2)r[y][x] = s, x--; if (d == 3)r[y][x] = s, y--; s++; // cout << x << " " << y << endl; } if (r[y][x]) { if(d==3)y++, x++; if (d == 2)y--, x++; if (d == 1)y--, x--; if (d == 0)y++, x--; } d++; if (d == 4)p--; } for (int i = 0; i < n; i++) { for (int j = 0; j < n; j++) { if (j)cout << " "; if (r[i][j] < 10)cout << "00"; else if (r[i][j] < 100)cout << 0; printf("%d",r[i][j]); } cout << endl; } return 0; }