# | TimeUTC-0 | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
3169 | myungwoo | 간선 파괴 (GA5_destroy) | C++98 | 2176 ms | 3260 KiB |
This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
#include <stdio.h>
#define MAXN 707
#define MAXM 123460
int N,M,Q;
int mom[MAXN],prev[MAXM],next[MAXM];
bool fchk[MAXM],bchk[MAXM];
struct Edge{
Edge(int a=0,int b=0): a(a), b(b) {}
int a,b;
} edge[MAXM];
int _find(int n){ return mom[n]==n?n:(mom[n]=_find(mom[n])); }
int _union(int a,int b){ a = _find(a), b = _find(b); if (a != b){ mom[b] = a; return 1; } return 0; }
int main()
{
int i,k,s,e;
scanf("%d%d",&N,&M);
for (i=1;i<=M;i++) scanf("%d%d",&s,&e), edge[i] = Edge(s,e);
for (i=1;i<=N;i++) mom[i] = i;
for (i=1,k=0;i<=M;i++){
prev[i] = k;
if (_union(edge[i].a,edge[i].b)){
fchk[i] = 1;
k = i;
}
}
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |