結果
問題 | No.1400 すごろくで世界旅行 |
ユーザー |
![]() |
提出日時 | 2019-12-29 19:20:07 |
言語 | C++14 (gcc 13.3.0 + boost 1.87.0) |
結果 |
MLE
|
実行時間 | - |
コード長 | 1,217 bytes |
コンパイル時間 | 1,761 ms |
コンパイル使用メモリ | 178,064 KB |
実行使用メモリ | 821,612 KB |
最終ジャッジ日時 | 2024-11-28 15:44:56 |
合計ジャッジ時間 | 49,806 ms |
ジャッジサーバーID (参考情報) |
judge2 / judge3 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 1 MLE * 2 |
other | AC * 1 WA * 4 RE * 2 TLE * 1 MLE * 10 |
ソースコード
#include <bits/stdc++.h> using namespace std; using pi = pair<int, int>; signed main() { int v, d; cin >> v >> d; vector<vector<bool>> G(v, vector<bool>(v, false)); for (int i = 0; i < v; ++i) { string s; cin >> s; for (int j = 0; j < v; ++j) if (s[j] == '1') G[i][j] = true; } bool valid = true; for (int src = 0; valid && src < v; ++src) { queue<pi> que; vector<bool> rchbl(v, false); que.push(pi(src, 0)); while (!que.empty()) { pi q = que.front(); que.pop(); //cerr << q.second << "\n"; if ((q.first == src && q.second > 0 && d % q.second == 0) || (q.first != src && d % (q.second * 3) == 0)) { rchbl[q.first] = true; } if(q.second>=d)continue; for (int i = 0; i < v; ++i) if (i!=q.first&&G[i][q.first]) que.push(pi(i, q.second + 1)); if (G[q.first][q.first]) que.push(pi(q.first, q.second + 1)); } for (auto&& i : rchbl) if (!i) { valid = false; break; } } cout << (valid ? "Yes" : ":(") << endl; }