結果
問題 | No.401 数字の渦巻き |
ユーザー |
![]() |
提出日時 | 2016-07-22 22:51:28 |
言語 | C++11(廃止可能性あり) (gcc 13.3.0) |
結果 |
AC
|
実行時間 | 2 ms / 2,000 ms |
コード長 | 811 bytes |
コンパイル時間 | 694 ms |
コンパイル使用メモリ | 74,632 KB |
実行使用メモリ | 5,248 KB |
最終ジャッジ日時 | 2024-11-06 09:10:45 |
合計ジャッジ時間 | 1,617 ms |
ジャッジサーバーID (参考情報) |
judge4 / judge2 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | AC * 30 |
ソースコード
#include <iostream> #include <string> #include <vector> #include <sstream> #include <iomanip> using namespace std; int main() { int n; cin >> n; int n2 = n; vector<vector<string> > nn; nn.resize(n); for (int i = 0; i < n; i++) { nn[i].resize(n); } int j = 0, k = 0; int d = 1,cnt=0,point=1; for (int i = 1; i <= n2*n2; i++) { if (cnt == n-1) { point++; if (!(point % 2)) { point = 0; n--; } cnt = -1; d++; if (d == 5) d = 1; } ostringstream sout; sout << setfill('0') << setw(3) << i; nn[j][k] = sout.str(); if (d == 1) k++; else if (d == 2) j++; else if (d == 3) k--; else if (d == 4) j--; cnt++; } for (int i = 0; i < n2; i++) { for (int j = 0; j < n2; j++) { if (j)cout << " "; cout << nn[i][j]; } cout << endl; } return 0; }