제출 #244436

#제출 시각아이디문제언어결과실행 시간메모리
244436shenxyPotemkin cycle (CEOI15_indcyc)C++11
20 / 100
26 ms2048 KiB
#include <cstdio> #include <algorithm> #include <vector> using namespace std; typedef pair<int, int> ii; int N, R, depth[1000], parent[1000]; bool visited[1000]; vector<int> adjlist[1000]; ii ans = ii(-1, -1); void dfs(int v, int jmp_h) { visited[v] = true; int max_h = -1, good_i = -1; for (int i: adjlist[v]) { if (i == parent[v] || !visited[i]) continue; if (depth[v] - depth[i] > 2 && depth[i] > max_h) { max_h = depth[i]; good_i = i; } jmp_h = max(depth[i], jmp_h); } if (depth[v] - max_h > 2 && max_h >= jmp_h) ans = ii(good_i, v); for (int i: adjlist[v]) { if (visited[i]) continue; depth[i] = depth[v] + 1; parent[i] = v; dfs(i, jmp_h); } } int main() { scanf("%d %d", &N, &R); int u, v; for (int i = 0; i < R; ++i) { scanf("%d %d", &u, &v); adjlist[u - 1].push_back(v - 1); adjlist[v - 1].push_back(u - 1); } fill_n(visited, N, false); for (int i = 0; i < N; ++i) { if (!visited[i]) { depth[i] = 0; parent[i] = -1; dfs(i, -1); } } if (ans != ii(-1, -1)) { for (int i = ans.second; i != parent[ans.first]; i = parent[i]) printf("%d ", i + 1); } else printf("no"); return 0; }

컴파일 시 표준 에러 (stderr) 메시지

indcyc.cpp: In function 'int main()':
indcyc.cpp:30:7: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
  scanf("%d %d", &N, &R);
  ~~~~~^~~~~~~~~~~~~~~~~
indcyc.cpp:33:8: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
   scanf("%d %d", &u, &v);
   ~~~~~^~~~~~~~~~~~~~~~~
#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...