結果
| 問題 |
No.408 五輪ピック
|
| コンテスト | |
| ユーザー |
tnakao0123
|
| 提出日時 | 2016-08-08 21:40:10 |
| 言語 | C++11(廃止可能性あり) (gcc 13.3.0) |
| 結果 |
AC
|
| 実行時間 | 47 ms / 5,000 ms |
| コード長 | 1,814 bytes |
| コンパイル時間 | 748 ms |
| コンパイル使用メモリ | 93,280 KB |
| 実行使用メモリ | 8,448 KB |
| 最終ジャッジ日時 | 2024-11-07 07:28:39 |
| 合計ジャッジ時間 | 2,450 ms |
|
ジャッジサーバーID (参考情報) |
judge5 / judge1 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| other | AC * 32 |
ソースコード
/* -*- coding: utf-8 -*-
*
* 408.cc: No.408 五輪ピック - yukicoder
*/
#include<cstdio>
#include<cstdlib>
#include<cstring>
#include<cmath>
#include<iostream>
#include<string>
#include<vector>
#include<map>
#include<set>
#include<stack>
#include<list>
#include<queue>
#include<deque>
#include<algorithm>
#include<numeric>
#include<utility>
#include<complex>
#include<functional>
using namespace std;
/* constant */
const int MAX_N = 20000;
/* typedef */
typedef vector<int> vi;
typedef set<int> si;
/* global variables */
vi nbrs[MAX_N];
si rs[MAX_N];
/* subroutines */
/* main */
int main() {
int n, m;
cin >> n >> m;
for (int i = 0; i < m; i++) {
int ai, bi;
cin >> ai >> bi;
ai--, bi--;
nbrs[ai].push_back(bi);
nbrs[bi].push_back(ai);
}
vi &nbr0 = nbrs[0];
for (vi::iterator vit0 = nbr0.begin(); vit0 != nbr0.end(); vit0++) {
int &v1 = *vit0;
vi &nbr1 = nbrs[v1];
for (vi::iterator vit1 = nbr1.begin(); vit1 != nbr1.end(); vit1++) {
int &v2 = *vit1;
if (v2 != 0) rs[v2].insert(v1);
}
}
bool ok = false;
for (int u = 1; u < n; u++) {
si &ru = rs[u];
if (ru.size() == 0) continue;
vi &nbru = nbrs[u];
for (vi::iterator vit = nbru.begin(); vit != nbru.end(); vit++) {
int &v = *vit;
si &rv = rs[v];
if (u >= v || rv.size() == 0) continue;
si::iterator situ = ru.begin(), sitv = rv.begin();
while (! ok) {
while (situ != ru.end() && (*situ == v || *situ == *sitv)) situ++;
if (situ == ru.end()) break;
while (sitv != rv.end() && (*sitv == u || *sitv == *situ)) sitv++;
if (sitv == rv.end()) break;
if (*situ != v && *sitv != u && *situ != *sitv) ok = true;
}
if (ok) break;
}
if (ok) break;
}
cout << (ok ? "YES" : "NO") << endl;
return 0;
}
tnakao0123