| # | Time | Username | Problem | Language | Result | Execution time | Memory | 
|---|---|---|---|---|---|---|---|
| 65498 | 3zp | Potemkin cycle (CEOI15_indcyc) | C++14 | 36 ms | 5484 KiB | 
This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
#include<bits/stdc++.h>
using namespace std;
vector<int> c, v[1009];
int f[1009][1009];
int F[1009];
int G[1009];
int a[200009], b[200009];
void dfs(int x){
    F[x] = 1;
    c.push_back(x);
    for(int i = 0; i < v[x].size(); i++)
        if(!F[v[x][i]]) dfs(v[x][i]);
}
main(){
    int n, m;
    cin >> n >> m;
    for(int i =  1; i <= m; i++){
        scanf("%d%d",&a[i],&b[i]);
        f[a[i]][b[i]] = 1;
        f[b[i]][a[i]] = 1;
    }
    for(int i = 1; i <= n; i++){
        for(int j = 1; j <= n; j++)
            F[j] = 0, v[j].clear();
        F[i] = 1;
        for(int j = 1; j <= m; j++){
            int x = a[j], y = b[j];
            if(x == i){
                F[y] = 2;
                continue;
            }
            if(y == i){
                F[x] = 2;
                continue;
            }
            if(f[i][x] && f[i][y]) continue;
            v[x].push_back(y);
            v[y].push_back(x);
        }
        for(int j = 1; j <= n; j++){
            if(!F[j]){
                c.clear();
                dfs(j);
                vector<int> g;
                for(int k = 0; k < c.size(); k++){
                    for(int t = 0;  t < v[c[k]].size(); t++){
                        int x = v[c[k]][t];
                        if(G[x] == 0 && F[x] == 2){
                            g.push_back(x);
                            G[x] = 1;
                        }
                    }
                }
                for(int i = 0; i < g.size(); i++)
                    G[g[i]] = 0;
                for(int i1 = 0; i1 < g.size(); i1++){
                    for(int j = i1 + 1; j < g.size(); j++){
                        if(f[g[i1]][g[j]]) continue;
                        cout<<"FOUND"<<endl;
                        cout<<i<<" "<<g[i1]<<" "<<g[j]<<endl;
                        return 0;
                    }
                }
            }
        }
    }
    cout<<"no"<<endl;
}
Compilation message (stderr)
| # | Verdict | Execution time | Memory | Grader output | 
|---|---|---|---|---|
| Fetching results... | ||||
| # | Verdict | Execution time | Memory | Grader output | 
|---|---|---|---|---|
| Fetching results... | ||||
| # | Verdict | Execution time | Memory | Grader output | 
|---|---|---|---|---|
| Fetching results... | ||||
| # | Verdict | Execution time | Memory | Grader output | 
|---|---|---|---|---|
| Fetching results... | ||||
| # | Verdict | Execution time | Memory | Grader output | 
|---|---|---|---|---|
| Fetching results... | ||||
| # | Verdict | Execution time | Memory | Grader output | 
|---|---|---|---|---|
| Fetching results... | ||||
| # | Verdict | Execution time | Memory | Grader output | 
|---|---|---|---|---|
| Fetching results... | ||||
| # | Verdict | Execution time | Memory | Grader output | 
|---|---|---|---|---|
| Fetching results... | ||||
| # | Verdict | Execution time | Memory | Grader output | 
|---|---|---|---|---|
| Fetching results... | ||||
| # | Verdict | Execution time | Memory | Grader output | 
|---|---|---|---|---|
| Fetching results... | ||||
