結果
| 問題 |
No.401 数字の渦巻き
|
| ユーザー |
algon_320
|
| 提出日時 | 2016-07-22 22:37:35 |
| 言語 | C++11(廃止可能性あり) (gcc 13.3.0) |
| 結果 |
WA
|
| 実行時間 | - |
| コード長 | 1,022 bytes |
| コンパイル時間 | 1,263 ms |
| コンパイル使用メモリ | 158,828 KB |
| 実行使用メモリ | 6,824 KB |
| 最終ジャッジ日時 | 2024-11-06 09:05:37 |
| 合計ジャッジ時間 | 2,202 ms |
|
ジャッジサーバーID (参考情報) |
judge2 / judge1 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| other | AC * 4 WA * 26 |
ソースコード
#include <bits/stdc++.h>
using namespace std;
typedef pair<int,int> pii;
typedef long long ll;
#define ITR(i,c) for(auto i=begin(c);i!=end(c);i++)
#define FORE(x,arr) for(auto &x:arr)
#define FOR(i,a,n) for(int i=a;i<(int)(n);i++)
#define REP(i,n) FOR(i,0,n)
#define ALL(c) begin(c),end(c)
const int DX[4]={0,1,0,-1}, DY[4]={-1,0,1,0};
const int INF = 1e9;
int t[31][31];
int main(int argc, char const *argv[]) {
int n;
cin>>n;
int x=0,y=0,dir=1;
FOR(i,1,n*n+1) {
t[y][x]=i;
if(dir==0) {
if(t[y-1][x]!=0) dir=1;
}
else if(dir==1) {
if(x==n-1 || t[y][x+1]!=0) dir=2;
}
else if(dir==2) {
if(y==n-1 || t[y+1][x+1]!=0) dir=3;
}
else if(dir==3) {
if(x==0 || t[y][x-1]!=0) dir=0;
}
x+=DX[dir%4];
y+=DY[dir%4];
}
REP(i,n) REP(j,n) {
cout << setw(3) << setfill('0') << t[i][j];
if(j==n-1) putchar('\n');
else putchar(' ');
}
return 0;
}
algon_320