結果
問題 |
No.408 五輪ピック
|
ユーザー |
|
提出日時 | 2025-04-25 21:49:40 |
言語 | C++17 (gcc 13.3.0 + boost 1.87.0) |
結果 |
AC
|
実行時間 | 15 ms / 5,000 ms |
コード長 | 974 bytes |
コンパイル時間 | 2,040 ms |
コンパイル使用メモリ | 196,084 KB |
実行使用メモリ | 7,844 KB |
最終ジャッジ日時 | 2025-04-25 21:49:45 |
合計ジャッジ時間 | 3,504 ms |
ジャッジサーバーID (参考情報) |
judge5 / judge4 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | AC * 32 |
ソースコード
#include<bits/stdc++.h> using namespace std; inline int read() { int x=0,f=1; char ch=getchar(); while(ch<48||ch>57) { if(ch==45)f=-1; ch=getchar(); } while(ch>=48&&ch<=57) { x=(x<<1)+(x<<3)+(ch&15); ch=getchar(); } return x*f; } inline void write(int x) { if(x<0)x=-x,putchar(45); if(x>9)write(x/10); putchar(x%10+48); return; } int n,m,rt; vector<int>mp[20001],fm[20001]; bool fg=0; int main() { //freopen("circle.in","r",stdin); //freopen("circle.out","w",stdout); n=read(),m=read(),rt=1; for(int i=1;i<=m;++i) { int u=read(),v=read(); mp[u].emplace_back(v); mp[v].emplace_back(u); } for(auto v1:mp[rt]) for(auto v2:mp[v1]) if(v2^rt) if(fm[v2].size()<3) fm[v2].emplace_back(v1); for(int v1=2;v1<=n;++v1) { if(fg)break; for(auto v2:mp[v1]) { if(fg)break; for(auto v3:fm[v1]) { if(fg)break; for(auto v4:fm[v2]) if(v3^v2&&v3^v4&&v4^v1){fg=1;break;} } } } puts(fg?"YES":"NO"); return 0; }