Submission #595977

#TimeUsernameProblemLanguageResultExecution timeMemory
595977snasibov05Parachute rings (IOI12_rings)C++14
20 / 100
4083 ms35788 KiB
#include "bits/stdc++.h" using namespace std; int n; vector<vector<int>> ed; void Init(int N_) { n = N_; ed.resize(n); } void Link(int A, int B) { ed[A].push_back(B); ed[B].push_back(A); } bool dfs(int cur, int pr, int crt, vector<bool>& visited){ visited[cur] = true; for (auto to : ed[cur]){ if (to == pr || to == crt) continue; if (visited[to]) return false; if (!dfs(to, cur, crt, visited)) return false; } return true; } int CountCritical() { int cnt = 0; for (int i = 0; i < n; ++i){ bool flag = true; vector<bool> visited(n); for (int j = 0; j < n; ++j) { if (i == j || visited[j]) continue; flag = flag & dfs(j, j, i, visited); } for (int j = 0; j < n; ++j){ if (i == j) continue; int deg = 0; for (auto to : ed[j]) { if (to == i) continue; deg++; } if (deg > 2) flag = false; } cnt += flag; } return cnt; }
#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...