結果
| 問題 |
No.401 数字の渦巻き
|
| コンテスト | |
| ユーザー |
hogeover30
|
| 提出日時 | 2016-08-24 00:31:11 |
| 言語 | C++14 (gcc 13.3.0 + boost 1.87.0) |
| 結果 |
AC
|
| 実行時間 | 2 ms / 2,000 ms |
| コード長 | 530 bytes |
| コンパイル時間 | 555 ms |
| コンパイル使用メモリ | 63,744 KB |
| 実行使用メモリ | 5,248 KB |
| 最終ジャッジ日時 | 2024-11-08 00:09:57 |
| 合計ジャッジ時間 | 1,718 ms |
|
ジャッジサーバーID (参考情報) |
judge2 / judge1 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| other | AC * 30 |
ソースコード
#include <iostream>
#include <cstdio>
using namespace std;
int dr[]={0, 1, 0, -1}, dc[]={1, 0, -1, 0};
int a[40][40];
int main()
{
int n; cin>>n;
int r=0, c=0, k=0;
for(int i=1; i<=n*n; ++i) {
a[r][c]=i;
int nr=r+dr[k], nc=c+dc[k];
if (nr<0 or nr>=n or nc<0 or nc>=n or a[nr][nc]) {
k=(k+1)%4;
nr=r+dr[k], nc=c+dc[k];
}
r=nr, c=nc;
}
for(int i=0; i<n; ++i) {
for(int j=0; j<n; ++j) printf("%03d ", a[i][j]);
puts("");
}
}
hogeover30