제출 #249464

#제출 시각아이디문제언어결과실행 시간메모리
249464dwscMeetings (JOI19_meetings)C++14
29 / 100
3087 ms2936 KiB
#include <bits/stdc++.h> #include "meetings.h" using namespace std; int lca[310][310]; int depth[310]; set<int> subtree[310]; void dfs(int u){ //cout << u << "hi\n"; for (auto it = subtree[u].begin(); it != subtree[u].end(); ++it){ int v = *it; if (depth[v] == depth[u]+1){ //cout << u << " " << v << "hi\n"; Bridge(min(u,v),max(u,v)); dfs(v); } } } void Solve(int N) { for (int i = 0; i < N; i++){ for (int j = 0; j < N; j++){ if (i == j) lca[i][j] = i; else if (i == 0 || j == 0) lca[i][j] = 0; else lca[i][j] = Query(0,i,j); } } for (int i = 0; i < N; i++){ for (int j = 0; j < N; j++){ if (i == j) continue; if (lca[i][j] == i){ depth[j]++; subtree[i].insert(j); } } } dfs(0); }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...