結果
問題 |
No.3235 巡回減算
|
ユーザー |
|
提出日時 | 2025-08-16 17:06:19 |
言語 | C++17 (gcc 13.3.0 + boost 1.87.0) |
結果 |
AC
|
実行時間 | 679 ms / 10,000 ms |
コード長 | 602 bytes |
コンパイル時間 | 1,916 ms |
コンパイル使用メモリ | 198,592 KB |
実行使用メモリ | 7,716 KB |
最終ジャッジ日時 | 2025-08-16 17:06:31 |
合計ジャッジ時間 | 12,053 ms |
ジャッジサーバーID (参考情報) |
judge2 / judge1 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | AC * 30 |
ソースコード
#include <bits/stdc++.h> using namespace std; int N = 8; std::vector A(N, vector(N, 0)); bool OK(int id = 0) { if (id == N) { bool ok = true; for (int i = 0; i < N; i ++) { int s = A[0][i]; for (int j = 1; j < N; j ++) { s -= A[j][i]; } ok = ok && (s == 0); } return ok; } for (int a = 0; a < N; a ++) { if (OK(id+1)) { return true; } for (int i = 1; i < N; i ++) { swap(A[id][i], A[id][i-1]); } } return false; } int main () { for (auto& a : A) { for (auto& b : a) { char c; cin >> c; b = c - '0'; } } cout << (OK() ? "Yes" : "No") << endl; }