結果
| 問題 | 
                            No.401 数字の渦巻き
                             | 
                    
| コンテスト | |
| ユーザー | 
                             | 
                    
| 提出日時 | 2019-09-19 14:50:48 | 
| 言語 | C++14  (gcc 13.3.0 + boost 1.87.0)  | 
                    
| 結果 | 
                             
                                RE
                                 
                             
                            
                         | 
                    
| 実行時間 | - | 
| コード長 | 1,742 bytes | 
| コンパイル時間 | 1,556 ms | 
| コンパイル使用メモリ | 172,192 KB | 
| 実行使用メモリ | 5,376 KB | 
| 最終ジャッジ日時 | 2024-07-19 05:31:48 | 
| 合計ジャッジ時間 | 2,950 ms | 
| 
                            ジャッジサーバーID (参考情報)  | 
                        judge1 / judge3 | 
(要ログイン)
| ファイルパターン | 結果 | 
|---|---|
| other | AC * 29 RE * 1 | 
ソースコード
#define _USE_MATH_DEFINES
#include <bits/stdc++.h>
#define USE_LLONG_AS_INT
#ifdef USE_LLONG_AS_INT
#define int long long
#define inf (1ll<<60)
#else
#define inf (1<<30)
#endif
#define rep(i,n) for(int i=0;i<n;i++)
#define Rep(i,a,b) for(int i=a;i<b;i++)
#define REP(i,a,b) for(int i=a;i<=b;i++)
#define rev(i,n) for(int i=(n)-1;i>=0;i--)
#define vi vector<int>
#define vvi vector<vi>
#define vs vector<string>
#define pb push_back
#define pi pair<int,int>
#define vp vector<pair<int,int>>
#define mp make_pair
#define all(v) (v).begin(),(v).end()
#define fi first
#define se second
#define MEMSET(a) memset(a,0,sizeof(a))
#define Yes(f) cout<<(f?"Yes":"No")<<endl
#define yes(f) cout<<(f?"yes":"no")<<endl
#define YES(f) cout<<(f?"YES":"NO")<<endl
#define SORT(v) sort(all(v))
#define RSORT(v) sort(all(v), greater<int>())
using namespace std;
const int mod=1e9+7;
const string sp=" ";
void run();
void init() {
    ios::sync_with_stdio(false);
    cin.tie(0);
    cout<<fixed<<setprecision(12);
}
signed main(){
    // init();
    run();
    return 0;
}
void run(){
    int n;
    cin>>n;
    vvi a(n,vi(n));
    int d=0;
    int i=0,j=0;
    REP(m,1,n*n){
        a[i][j]=m;
        if(d==0){
            if(j==n-1)d++,i++;
            else j++;
            if(a[i][j])d++,j--,i++;
        }
        else if(d==1){
            if(i==n-1)d++,j--;
            else i++;
            if(a[i][j])d++,i--,j--;
        }
        else if(d==2){
            if(j==0)d++,i--;
            else j--;
            if(a[i][j])d++,j++,i--;
        }
        else{
            if(i==0)d=0,j++;
            else i--;
            if(a[i][j])d=0,i++,j++;
        }
    }
    rep(i,n){
        rep(j,n)printf("%03d ",a[i][j]);
        cout<<endl;
    }
}