답안 #42638

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
42638 2018-03-01T16:48:10 Z nonocut Potemkin cycle (CEOI15_indcyc) C++14
30 / 100
1000 ms 36336 KB
#include<bits/stdc++.h>
using namespace std;
#define pb push_back
const int maxn = 1e3 + 5;
const int inf = 1e9;
int n,m;
int e[maxn][maxn];
int len[maxn], par[maxn];
queue<int> q;
vector<int> way[maxn];
void bfs(int x, int y) {
//    printf("%d -> %d\n",x,y);
    for(int i=1;i<=n;i++) len[i] = inf;
    len[x] = 0;
    q.push(x);
    while(!q.empty()) {
        int u = q.front(); q.pop();
//        printf("len %d = %d\n",u,len[u]);
        for(auto v : way[u]) {
            if(u==x && v==y) continue;
            if(len[v]>len[u]+1) {
                len[v] = len[u]+1;
                par[v] = u;
                if(v!=y) q.push(v);
            }
        }
    }
//    printf("len %d = %d\n",y,len[y]);
    if(len[y]<3) return ;
    for(int i=1;i<=n;i++) {
        if(e[i][y] && len[i]>=2) {
            printf("%d ",y);
            while(i!=x) {
                printf("%d ",i);
                i = par[i];
            }
            printf("%d",x);
            exit(0);
        }
    }
}
int main() {
    scanf("%d%d",&n,&m);
    for(int i=1;i<=m;i++) {
        int x, y;
        scanf("%d%d",&x,&y);
        way[x].pb(y); way[y].pb(x);
        e[x][y] = e[y][x] = 1;
    }
    for(int x=1;x<=n;x++) {
        for(int y=x+1;y<=n;y++) {
            if(e[x][y]) {
                bfs(x,y);
            }
        }
    }
    printf("no");
}

Compilation message

indcyc.cpp: In function 'int main()':
indcyc.cpp:43:24: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
     scanf("%d%d",&n,&m);
                        ^
indcyc.cpp:46:28: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
         scanf("%d%d",&x,&y);
                            ^
# 결과 실행 시간 메모리 Grader output
1 Correct 1 ms 376 KB Output is correct
2 Correct 1 ms 484 KB Output is correct
3 Correct 1 ms 484 KB Output is correct
4 Correct 1 ms 484 KB Output is correct
5 Correct 1 ms 488 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 2 ms 708 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Incorrect 2 ms 708 KB Expected integer, but "no" found
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 2 ms 1064 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Incorrect 7 ms 1096 KB Expected integer, but "no" found
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 62 ms 1996 KB Output is correct
2 Correct 20 ms 2136 KB Output is correct
3 Correct 7 ms 2136 KB Output is correct
4 Execution timed out 1052 ms 36336 KB Time limit exceeded
# 결과 실행 시간 메모리 Grader output
1 Incorrect 57 ms 36336 KB Expected integer, but "no" found
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Execution timed out 1052 ms 36336 KB Time limit exceeded
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Execution timed out 1069 ms 36336 KB Time limit exceeded
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Execution timed out 1072 ms 36336 KB Time limit exceeded
2 Halted 0 ms 0 KB -