結果
問題 | No.401 数字の渦巻き |
ユーザー |
![]() |
提出日時 | 2016-07-25 14:59:03 |
言語 | C++11 (gcc 13.3.0) |
結果 |
AC
|
実行時間 | 2 ms / 2,000 ms |
コード長 | 1,145 bytes |
コンパイル時間 | 779 ms |
コンパイル使用メモリ | 80,052 KB |
実行使用メモリ | 6,820 KB |
最終ジャッジ日時 | 2024-11-06 16:20:01 |
合計ジャッジ時間 | 1,571 ms |
ジャッジサーバーID (参考情報) |
judge5 / judge1 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | AC * 30 |
ソースコード
#include<iostream>#include<cstdio>#include<cstring>#include<string>#include<vector>#include<queue>#include<stack>#include<set>#include<map>#include<bitset>#include<utility>#include<sstream>#include<cctype>#include<cmath>#include<algorithm>using namespace std;#define ALL(x) (x).begin(),(x).end()#define RALL(x) (x).rbegin(), (x).rend()#define rev(i,n) for(int (i)=(n-1);(i)>=0;(i)--)#define repp(i,n) for(int (i)=1;(i)<=(n);(i)++)#define rep(i,n) for(int (i)=0;(i)<(n);(i)++)#define rev(i,n) for(int (i)=(n-1);(i)>=0;(i)--)#define clr(a) memset((a), 0 ,sizeof(a))typedef pair<int,int> P;typedef vector<pair<int,int> > pii;typedef map<string,int> mi;int A[50][50];int dx[]={ 0, 1, 0, -1 };int dy[]={ 1, 0, -1, 0 };int main(){int n;cin >> n;int x=0,y=0,k=0;for(int i=1;i<=n*n;i++){A[x][y]=i;if(i==n*n) break;while(1){int nx=x+dx[k];int ny=y+dy[k];if(nx<0||ny<0||nx>=n||ny>=n||A[nx][ny]){k=(k+1)%4;continue;}x=nx;y=ny;break;}}for(int i=0;i<n;i++){for(int j=0;j<n;j++){printf("%03d ", A[i][j]);}printf("\n");}return 0;}