結果
問題 |
No.2256 Step by Step
|
ユーザー |
|
提出日時 | 2025-05-24 16:13:33 |
言語 | C++17 (gcc 13.3.0 + boost 1.87.0) |
結果 |
AC
|
実行時間 | 2 ms / 2,000 ms |
コード長 | 3,608 bytes |
コンパイル時間 | 2,415 ms |
コンパイル使用メモリ | 192,732 KB |
実行使用メモリ | 7,848 KB |
最終ジャッジ日時 | 2025-05-24 16:13:38 |
合計ジャッジ時間 | 4,398 ms |
ジャッジサーバーID (参考情報) |
judge2 / judge1 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | AC * 32 |
コンパイルメッセージ
main.cpp: In function ‘void solve()’: main.cpp:20:14: warning: ignoring return value of ‘int scanf(const char*, ...)’ declared with attribute ‘warn_unused_result’ [-Wunused-result] 20 | scanf("%d", &n); | ~~~~~^~~~~~~~~~
ソースコード
#include <bits/stdc++.h> #define pb emplace_back #define fst first #define scd second #define mkp make_pair #define mems(a, x) memset((a), (x), sizeof(a)) using namespace std; typedef long long ll; typedef double db; typedef unsigned long long ull; typedef long double ldb; typedef pair<ll, ll> pii; const int maxn = 1010; int n, ans[9][maxn]; void solve() { scanf("%d", &n); if (n == 1) { puts("1\n0\n0\n0\n1\n1"); return; } if (n == 2) { puts("-1"); return; } if (n == 3) { puts("012\n345\n345\n225\n141\n300"); return; } if (n == 4) { puts("4551\n3662\n6777\n3005\n3442\n0112"); return; } ans[1][1] = 5; ans[1][2] = 1; ans[1][3] = 2; ans[2][1] = 0; ans[2][2] = 7; ans[2][3] = 5; ans[3][1] = 0; ans[3][2] = 7; ans[3][3] = 1; ans[4][1] = 2; ans[4][2] = 2; ans[5][1] = 0; ans[5][2] = 5; ans[6][1] = 1; ans[6][2] = 7; for (int i = 3; i + 5 <= n; i += 4) { ans[1][i + 1] = 3; ans[1][i + 2] = 0; ans[1][i + 3] = 1; ans[1][i + 4] = 7; ans[2][i + 1] = 4; ans[2][i + 2] = 5; ans[2][i + 3] = 2; ans[2][i + 4] = 5; ans[3][i + 1] = 4; ans[3][i + 2] = 6; ans[3][i + 3] = 2; ans[3][i + 4] = 1; ans[4][i] = 6; ans[4][i + 1] = 6; ans[4][i + 2] = 7; ans[4][i + 3] = 7; ans[5][i] = 3; ans[5][i + 1] = 4; ans[5][i + 2] = 3; ans[5][i + 3] = 5; ans[6][i] = 0; ans[6][i + 1] = 0; ans[6][i + 2] = 1; ans[6][i + 3] = 2; } if (n % 4 == 1) { ans[1][n - 1] = 0; ans[1][n] = 3; ans[2][n - 1] = 6; ans[2][n] = 1; ans[3][n - 1] = 6; ans[3][n] = 1; ans[4][n - 2] = 4; ans[4][n - 1] = 4; ans[4][n] = 4; ans[5][n - 2] = 3; ans[5][n - 1] = 3; ans[5][n] = 1; ans[6][n - 2] = 0; ans[6][n - 1] = 6; ans[6][n] = 0; } else if (n % 4 == 2) { ans[1][n - 2] = 3; ans[1][n - 1] = 3; ans[1][n] = 6; ans[2][n - 2] = 6; ans[2][n - 1] = 6; ans[2][n] = 9; ans[3][n - 2] = 8; ans[3][n - 1] = 8; ans[3][n] = 1; ans[4][n - 3] = 4; ans[4][n - 2] = 4; ans[4][n - 1] = 4; ans[4][n] = 8; ans[5][n - 3] = 3; ans[5][n - 2] = 0; ans[5][n - 1] = 0; ans[5][n] = 1; ans[6][n - 3] = 0; ans[6][n - 2] = 9; ans[6][n - 1] = 9; ans[6][n] = 1; } else if (n % 4 == 3) { ans[1][n - 3] = 3; ans[1][n - 2] = 0; ans[1][n - 1] = 2; ans[1][n] = 1; ans[2][n - 3] = 9; ans[2][n - 2] = 5; ans[2][n - 1] = 6; ans[2][n] = 4; ans[3][n - 3] = 9; ans[3][n - 2] = 2; ans[3][n - 1] = 6; ans[3][n] = 4; ans[4][n - 4] = 4; ans[4][n - 3] = 4; ans[4][n - 2] = 4; ans[4][n - 1] = 5; ans[4][n] = 5; ans[5][n - 4] = 3; ans[5][n - 3] = 9; ans[5][n - 2] = 3; ans[5][n - 1] = 6; ans[5][n] = 2; ans[6][n - 4] = 0; ans[6][n - 3] = 0; ans[6][n - 2] = 1; ans[6][n - 1] = 1; ans[6][n] = 4; } else { ans[1][n - 4] = 6; ans[1][n - 3] = 6; ans[1][n - 2] = 8; ans[1][n - 1] = 1; ans[1][n] = 2; ans[2][n - 4] = 0; ans[2][n - 3] = 0; ans[2][n - 2] = 5; ans[2][n - 1] = 0; ans[2][n] = 8; ans[3][n - 4] = 3; ans[3][n - 3] = 3; ans[3][n - 2] = 6; ans[3][n - 1] = 0; ans[3][n] = 8; ans[4][n - 5] = 3; ans[4][n - 4] = 9; ans[4][n - 3] = 9; ans[4][n - 2] = 1; ans[4][n - 1] = 5; ans[4][n] = 5; ans[5][n - 5] = 4; ans[5][n - 4] = 4; ans[5][n - 3] = 4; ans[5][n - 2] = 9; ans[5][n - 1] = 0; ans[5][n] = 1; ans[6][n - 5] = 0; ans[6][n - 4] = 8; ans[6][n - 3] = 8; ans[6][n - 2] = 2; ans[6][n - 1] = 2; ans[6][n] = 8; } for (int i = 1; i <= 6; ++i) { for (int j = 1; j <= n; ++j) { putchar('0' + ans[i][j]); } putchar('\n'); } } int main() { int T = 1; // scanf("%d", &T); while (T--) { solve(); } return 0; }