제출 #810993

#제출 시각아이디문제언어결과실행 시간메모리
810993JakobZorzPotemkin cycle (CEOI15_indcyc)C++14
30 / 100
876 ms2140 KiB
#include <iostream>
#include <vector>
#include <queue>
#include <algorithm>
#include <set>
#include <stack>
#include <limits.h>
#include <math.h>
#include <iomanip>
#include <bitset>
#include <unordered_map>
#include <unordered_set>
#include <map>
#include <cstring>
#include <sstream>
 
#pragma GCC target("popcnt")
 
typedef long long ll;
typedef long double ld;
using namespace std;
const int MOD=1e6+7;
typedef pair<ll,ll>point;
//#define x first
//#define y second
 
int n,m;
vector<int>nodes[1000];
bool taken1[1000];
bool taken2[1000];

int main(){
    ios::sync_with_stdio(false);
    cout.tie(NULL);
    cin.tie(NULL);
    
    cin>>n>>m;
    for(int i=0;i<m;i++){
        int a,b;
        cin>>a>>b;
        a--;b--;
        nodes[a].push_back(b);
        nodes[b].push_back(a);
    }
    
    for(int n1=0;n1<n;n1++){
        for(int ne:nodes[n1])
            taken1[ne]=true;
        
        for(int n2:nodes[n1]){
            for(int ne:nodes[n2])
                taken2[ne]=true;
            
            for(int n3:nodes[n2]){
                if(taken1[n3]||n3==n1)
                    continue;
                
                for(int n4:nodes[n3]){
                    if(taken1[n4]&&!taken2[n4]&&n4!=n2){
                        cout<<n1+1<<" "<<n2+1<<" "<<n3+1<<" "<<n4+1<<"\n";
                        return 0;
                    }
                }
            }
            
            for(int ne:nodes[n2])
                taken2[ne]=false;
        }
        
        for(int ne:nodes[n1])
            taken1[ne]=false;
    }
    
    cout<<"no\n";
    return 0;
}

/*
 
5 6
1 2
1 3
2 3
4 3
5 2
4 5
 
4 5
1 2
2 3
3 4
4 1
1 3
 
 */
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...