# | 제출 시각 | 아이디 | 문제 | 언어 | 결과 | 실행 시간 | 메모리 |
---|---|---|---|---|---|---|---|
244497 | 2020-07-04T07:32:35 Z | cheeheng | Pipes (CEOI15_pipes) | C++14 | 372 ms | 8696 KB |
#include <bits/stdc++.h> using namespace std; const int MAX_N = 10005; vector<short> AdjList[MAX_N]; bitset<MAX_N> visited; int dp[MAX_N]; int depth[MAX_N]; void dfs(int u, int p2, int d = 0){ if(visited[u]){return;} depth[u] = d; visited[u] = true; dp[u] = 0; int cnt = 0; for(int v: AdjList[u]){ if(!visited[v]){ dfs(v, u, d+1); dp[u] += dp[v]; }else if( (v != p2 || cnt >= 1) && depth[u] > depth[v]){ // this is a back edge //printf("%d %d is a back edge\n", u, v); dp[u] ++; dp[v] --; }else if(v == p2){cnt ++;} } if(dp[u] == 0 && p2 != -1){ printf("%d %d\n", u, p2); } //printf("dp[%d]=%d\n", u, dp[u]); } int main(){ int N, M; scanf("%d%d", &N, &M); for(int i = 0; i < M; i ++){ int a, b; scanf("%d%d", &a, &b); AdjList[a].push_back(b); AdjList[b].push_back(a); } //memset(dfs_low, -1, sizeof(dfs_low)); //memset(dfs_num, -1, sizeof(dfs_num)); //memset(p, -1, sizeof(p)); int temp = 0; for(int i = 1; i <= N; i ++){ if(!visited[i]){ dfs(i, -1); } } /*for(int i = 1; i <= N; i ++){ printf("%d %d\n", i, dp[i]); }*/ return 0; }
Compilation message
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 5 ms | 512 KB | Output is correct |
2 | Correct | 5 ms | 512 KB | Output is correct |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 9 ms | 1024 KB | Output is correct |
2 | Correct | 9 ms | 768 KB | Output is correct |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 182 ms | 4796 KB | Output is correct |
2 | Correct | 162 ms | 4344 KB | Output is correct |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 312 ms | 6828 KB | Output is correct |
2 | Correct | 372 ms | 8696 KB | Output is correct |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Runtime error | 5 ms | 1024 KB | Execution killed with signal 11 (could be triggered by violating memory limits) |
2 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Runtime error | 5 ms | 896 KB | Execution killed with signal 11 (could be triggered by violating memory limits) |
2 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Runtime error | 5 ms | 896 KB | Execution killed with signal 11 (could be triggered by violating memory limits) |
2 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Runtime error | 5 ms | 1024 KB | Execution killed with signal 11 (could be triggered by violating memory limits) |
2 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Runtime error | 5 ms | 896 KB | Execution killed with signal 11 (could be triggered by violating memory limits) |
2 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Runtime error | 5 ms | 1024 KB | Execution killed with signal 11 (could be triggered by violating memory limits) |
2 | Halted | 0 ms | 0 KB | - |