結果
問題 | No.1831 Parasol |
ユーザー |
![]() |
提出日時 | 2022-02-04 22:39:18 |
言語 | C++14 (gcc 13.3.0 + boost 1.87.0) |
結果 |
AC
|
実行時間 | 22 ms / 2,000 ms |
コード長 | 1,109 bytes |
コンパイル時間 | 3,665 ms |
コンパイル使用メモリ | 232,976 KB |
実行使用メモリ | 6,944 KB |
最終ジャッジ日時 | 2024-06-11 12:10:16 |
合計ジャッジ時間 | 5,056 ms |
ジャッジサーバーID (参考情報) |
judge4 / judge2 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 1 |
other | AC * 19 |
ソースコード
#include <bits/stdc++.h> #include <atcoder/all> using namespace std; using namespace atcoder; //const long nPrime = 1000000007; //const long nPrime = 998244353; typedef long long ll; int main() { long n; cin >> n; vector<vector<long>> vviAns(n,vector<long>(2*n-1,-1)); for(long i = 0; i < 2*n-1; i++){ vviAns[0][i] = 2*n-1; } long iTmp = 0; for(long i = 1; i <= n-1; i++){ for(long j = 0; j < i; j++){ long k = (iTmp+j)%(2*n-1); vviAns[i][k] = i; } for(long j = i; j < 2*n-1; j++){ long k = (iTmp+j)%(2*n-1); vviAns[i][k] = 2*n-1-i; } if(i <= 7){ iTmp += (i+2)/2; } else { iTmp += 2; } iTmp %= (2*n-1); } if(n==4){ swap(vviAns[3][0], vviAns[3][3]); } if(n==5){ swap(vviAns[4][0], vviAns[4][8]); } cout << 2*n-1 << endl; for(long i = 0; i < 2*n-1; i++){ for(long j = 0; j < n; j++){ cout << vviAns[j][i] << " "; } cout << endl; } return 0; }