結果
問題 |
No.408 五輪ピック
|
ユーザー |
![]() |
提出日時 | 2016-10-18 21:41:32 |
言語 | D (dmd 2.109.1) |
結果 |
TLE
|
実行時間 | - |
コード長 | 1,133 bytes |
コンパイル時間 | 762 ms |
コンパイル使用メモリ | 97,708 KB |
実行使用メモリ | 13,888 KB |
最終ジャッジ日時 | 2024-06-12 04:36:28 |
合計ジャッジ時間 | 7,437 ms |
ジャッジサーバーID (参考情報) |
judge3 / judge2 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | AC * 6 TLE * 1 -- * 25 |
ソースコード
import std.stdio; import std.algorithm; import std.typecons; import std.string; import std.array; import std.conv; import std.container; void main() { int N, M; scanf("%d %d\n", &N, &M); alias E = Tuple!(int, int); bool[E] es; E[] es1; foreach (i; 0 .. M) { int a, b; scanf("%d %d\n", &a, &b); a--; b--; if (a > b) swap(a, b); es1 ~= E(a, b); es[E(a, b)] = true; } bool f(int a, int b) { if (a > b) swap(a, b); return E(a, b) in es ? true : false; } foreach (e; es1) { bool a = false, b = false; int c = 0; for (int i = 1; i < N; i++) { if (i == e[0] || i == e[1]) continue; if (!f(i, 0)) continue; bool flag = false; if (f(e[0], i)) { a = true; flag =true; } if (f(e[1], i)) { b = true; flag = true; } c += flag; } if (c >= 2 && a && b) { writeln("YES"); return; } } writeln("NO"); }