結果
問題 |
No.401 数字の渦巻き
|
ユーザー |
![]() |
提出日時 | 2020-07-24 00:05:59 |
言語 | C++14 (gcc 13.3.0 + boost 1.87.0) |
結果 |
AC
|
実行時間 | 2 ms / 2,000 ms |
コード長 | 1,067 bytes |
コンパイル時間 | 1,814 ms |
コンパイル使用メモリ | 175,356 KB |
実行使用メモリ | 6,948 KB |
最終ジャッジ日時 | 2024-06-23 23:25:09 |
合計ジャッジ時間 | 2,981 ms |
ジャッジサーバーID (参考情報) |
judge4 / judge1 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | AC * 30 |
ソースコード
#include <bits/stdc++.h> #define PI 3.14159265359 using namespace std; const int64_t MOD = 1e9 + 7; int main() { int N; cin >> N; vector<vector<string>> v(N, vector<string>(N)); int c = 1; int d = 0; int i, j; i = 0; j = 0; int all = N * N; while (all) { string s = to_string(c); while (s.size() < 3) { s = '0' + s; } v.at(i).at(j) = s; c++; all--; if (d % 4 == 0) { if (j == N - 1) d++; else if (v.at(i).at(j + 1) != "") d++; } else if (d % 4 == 1) { if (i == N - 1) d++; else if (v.at(i + 1).at(j) != "") d++; } else if (d % 4 == 2) { if (j == 0) d++; else if (v.at(i).at(j - 1) != "") d++; } else if (d % 4 == 3) { if (i == 0) d++; else if (v.at(i - 1).at(j) != "") d++; } if (d % 4 == 0) { j++; } else if (d % 4 == 1) { i++; } else if (d % 4 == 2) { j--; } else if (d % 4 == 3) { i--; } } for (int i = 0; i < N; i++) { for (int j = 0; j < N; j++) { cout << v.at(i).at(j); if (j != N - 1) { cout << ' '; } else { cout << endl; } } } }