結果
問題 | No.401 数字の渦巻き |
ユーザー |
![]() |
提出日時 | 2016-07-22 22:50:26 |
言語 | C++11(廃止可能性あり) (gcc 13.3.0) |
結果 |
AC
|
実行時間 | 2 ms / 2,000 ms |
コード長 | 913 bytes |
コンパイル時間 | 737 ms |
コンパイル使用メモリ | 72,492 KB |
実行使用メモリ | 6,820 KB |
最終ジャッジ日時 | 2024-11-06 09:09:40 |
合計ジャッジ時間 | 1,518 ms |
ジャッジサーバーID (参考情報) |
judge3 / judge2 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | AC * 30 |
ソースコード
#define _CRT_SECURE_NO_WARNINGS // #pragma warning(disable:4996) #include <iostream> #include <algorithm> #include <vector> #include <string> #include <queue> #include <functional> #include <sstream> #include <cmath> using namespace std; #define rep(i,a,b) for(int i=(a);i<(b);i++) #define pb push_back #define mp(a,b) make_pair(a,b) #define all(a) a.begin(),a.end() typedef pair<int, int> Pii; typedef vector<int> V; typedef long long ll; const int inf = 2e9; const int mod = 1e9 + 7; const int MAX_N = 202020; int dx[4] = {1,0,-1,0}; // R D L U int dy[4] = {0,1,0,-1}; int A[31][31]; int main() { int N; cin >> N; fill(A[0], A[31], 999); rep(i,0,N) rep(j,0,N) A[i][j] = 0; int cy = 0, cx = 0; int d = 0; rep(i,1,N*N+1) { A[cy][cx] = i; if (A[cy+dy[d]][cx+dx[d]]!=0) d = (d+1)%4; cy += dy[d]; cx += dx[d]; } rep(i,0,N) {rep(j,0,N) printf("%03d ", A[i][j]); cout << endl; } return 0; }