이 제출은 이전 버전의 oj.uz에서 채점하였습니다. 현재는 제출 당시와는 다른 서버에서 채점을 하기 때문에, 다시 제출하면 결과가 달라질 수도 있습니다.
#include "bits/stdc++.h"
#include "meetings.h"
//#include "grader.cpp"
using namespace std;
#define MAX_N 2003
int comm_anc[MAX_N][MAX_N];
set <int> anc[MAX_N] ,sbtree[MAX_N];
void Solve(int N) {
for(int i=0; i<N; i++)
sbtree[0].insert(i) ,anc[i].insert(0)
,sbtree[i].insert(i) ,anc[i].insert(i);
for(int u=1; u<N; u++)
for(int v=u+1; v<N; v++){
int o = comm_anc[v][u] = comm_anc[u][v] = Query(0 ,u ,v);
sbtree[o].insert(u) ,sbtree[o].insert(v);
anc[v].insert(o) ,anc[u].insert(o);
}
for(int i=1; i<N; i++){
pair <int ,int> mi = {1e9 ,-1};
for(auto&u : anc[i])
if(u != i)
mi = min(mi ,make_pair((int)sbtree[u].size() ,u));
//cout << i << ' ' << mi.second << endl;
Bridge(min(i ,mi.second) ,max(i ,mi.second));
}
}
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |