답안 #1115940

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
1115940 2024-11-21T05:48:31 Z vjudge1 Potemkin cycle (CEOI15_indcyc) C++17
20 / 100
13 ms 7504 KB
//Dost SEFEROĞLU
#include <bits/stdc++.h>
#pragma GCC target("avx2,bmi,bmi2,popcnt,lzcnt")
#pragma GCC optimize("O3,unroll-loops")
using namespace std;
#define int long long
#define pii pair<int,int>
#define ff first
#define ss second
#define sp << " " <<    
#define all(cont) cont.begin(),cont.end()
#define vi vector<int>
int MOD = 998244353,inf = 2e18;
const int N = 1e5+50,Q = 2e5+50;

vi edges[N];
int tin[N],dep[N],par[N];
pii ans{-1,-1};
int timer = 1;
void dfs(int node,int p,int der = 0) {
    par[node] = p;
    dep[node] = der;
    tin[node] = timer++;
    pii maxdepshi = {-1,-1};
    for (auto it : edges[node]) {
        if (it == p) continue;
        else if (!tin[it]) dfs(it,node,der+1);
        else maxdepshi = max(maxdepshi,{dep[it],it});
    }
    if (maxdepshi.ff != -1 && dep[node]-maxdepshi.ff >= 3) {
        ans = {node,maxdepshi.ss};
    }
}   

void solve() {
    int n,m;
    cin >> n >> m;
    for (int i=1;i<=m;i++) {
        int a,b;
        cin >> a >> b;
        edges[a].push_back(b);
        edges[b].push_back(a);
    }
    dfs(1,1);
    if (ans.ff == -1) {
        cout << "no\n";
        return;
    }
    vi v;
    int cur = ans.ff;
    while (cur != ans.ss) {
        cout << cur << " ";
        cur = par[cur];
    }
    cout << ans.ss << " ";
    cout << '\n';
}                    
                             
int32_t main() { 
    ios_base::sync_with_stdio(0);cin.tie(0);cout.tie(0);
    #ifdef Dodi
        freopen("in.txt","r",stdin);
        freopen("out.txt","w",stdout);
    #endif
    int t = 1;
    //cin >> t; 
    while (t --> 0) solve();
}
# 결과 실행 시간 메모리 Grader output
1 Correct 2 ms 4944 KB Output is correct
2 Correct 2 ms 4944 KB Output is correct
3 Correct 2 ms 4944 KB Output is correct
4 Correct 2 ms 4944 KB Output is correct
5 Correct 2 ms 4944 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Incorrect 3 ms 4944 KB Wrong adjacency
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 2 ms 4944 KB Wrong adjacency
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 2 ms 4956 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Incorrect 2 ms 4944 KB Wrong adjacency
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 3 ms 4944 KB Wrong answer on graph without induced cycle
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 2 ms 4944 KB Wrong adjacency
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 8 ms 6480 KB Wrong adjacency
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 5 ms 5456 KB Wrong adjacency
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 13 ms 7504 KB Expected integer, but "no" found
2 Halted 0 ms 0 KB -