# | 제출 시각 | 아이디 | 문제 | 언어 | 결과 | 실행 시간 | 메모리 |
---|---|---|---|---|---|---|---|
764591 | 2023-06-23T16:11:41 Z | alexander707070 | 슈퍼트리 잇기 (IOI20_supertrees) | C++14 | 195 ms | 27316 KB |
#include<bits/stdc++.h> #include "supertrees.h" #define MAXN 1007 using namespace std; int n,k; vector<int> cycle[MAXN]; vector<int> v[MAXN]; vector< vector<int> > ans; bool li[MAXN]; int dsu[MAXN],sz[MAXN]; int root(int x){ if(dsu[x]==x)return x; dsu[x]=root(dsu[x]); return dsu[x]; } void add_edge(int x,int y){ if(x==y)return; ans[x][y]=ans[y][x]=1; } void dfs(int x){ li[x]=true; cycle[k].push_back(x); for(int i=0;i<v[x].size();i++){ if(!li[v[x][i]])dfs(v[x][i]); } } int construct(vector< vector<int> > p){ n=p.size(); ans.resize(n); for(int i=0;i<n;i++)ans[i].resize(n); for(int i=0;i<n;i++){ for(int f=i+1;f<n;f++){ if(p[i][f]==2){ v[i].push_back(f); v[f].push_back(i); } } } for(int i=0;i<n;i++){ if(!li[i]){ k++; dfs(i); for(int f=0;f<cycle[k].size();f++){ for(int d=f+1;d<cycle[k].size();d++){ if(p[cycle[k][f]][cycle[k][d]]!=2)return 0; } } sz[k]=int(cycle[k].size()); for(int f=0;f<cycle[k].size();f++){ //dsu[cycle[k][f]]=k; add_edge(cycle[k][f],cycle[k][(f+1)%int(cycle[k].size())]); } } } for(int i=0;i<n;i++){ dsu[i]=i; sz[i]=1; } for(int i=0;i<n;i++){ for(int f=i+1;f<n;f++){ if(p[i][f]==1 and root(i)!=root(f)){ if(sz[root(i)]<sz[root(f)]){ sz[root(f)]+=sz[root(i)]; dsu[root(i)]=root(f); }else{ sz[root(i)]+=sz[root(f)]; dsu[root(f)]=root(i); } add_edge(i,f); } } } for(int i=0;i<n;i++){ for(int f=i+1;f<n;f++){ if(p[i][f]==0 and root(i)==root(f))return 0; } } build(ans); return 1; }
Compilation message
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 1 ms | 340 KB | Output is correct |
2 | Correct | 1 ms | 340 KB | Output is correct |
3 | Correct | 0 ms | 340 KB | Output is correct |
4 | Correct | 1 ms | 340 KB | Output is correct |
5 | Correct | 0 ms | 340 KB | Output is correct |
6 | Correct | 7 ms | 1236 KB | Output is correct |
7 | Correct | 161 ms | 22068 KB | Output is correct |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 1 ms | 340 KB | Output is correct |
2 | Correct | 1 ms | 340 KB | Output is correct |
3 | Correct | 0 ms | 340 KB | Output is correct |
4 | Correct | 1 ms | 340 KB | Output is correct |
5 | Correct | 0 ms | 340 KB | Output is correct |
6 | Correct | 7 ms | 1236 KB | Output is correct |
7 | Correct | 161 ms | 22068 KB | Output is correct |
8 | Correct | 1 ms | 340 KB | Output is correct |
9 | Correct | 0 ms | 340 KB | Output is correct |
10 | Correct | 1 ms | 340 KB | Output is correct |
11 | Correct | 1 ms | 340 KB | Output is correct |
12 | Correct | 7 ms | 1180 KB | Output is correct |
13 | Correct | 153 ms | 22084 KB | Output is correct |
14 | Correct | 1 ms | 340 KB | Output is correct |
15 | Correct | 1 ms | 340 KB | Output is correct |
16 | Correct | 4 ms | 852 KB | Output is correct |
17 | Correct | 74 ms | 14116 KB | Output is correct |
18 | Correct | 1 ms | 340 KB | Output is correct |
19 | Correct | 1 ms | 340 KB | Output is correct |
20 | Correct | 42 ms | 6308 KB | Output is correct |
21 | Correct | 155 ms | 23972 KB | Output is correct |
22 | Correct | 155 ms | 24016 KB | Output is correct |
23 | Correct | 158 ms | 23984 KB | Output is correct |
24 | Correct | 156 ms | 23976 KB | Output is correct |
25 | Correct | 68 ms | 14128 KB | Output is correct |
26 | Correct | 68 ms | 14128 KB | Output is correct |
27 | Correct | 158 ms | 23960 KB | Output is correct |
28 | Correct | 179 ms | 23972 KB | Output is correct |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 1 ms | 340 KB | Output is correct |
2 | Correct | 1 ms | 340 KB | Output is correct |
3 | Correct | 0 ms | 340 KB | Output is correct |
4 | Incorrect | 0 ms | 340 KB | Answer gives possible 1 while actual possible 0 |
5 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 0 ms | 340 KB | Output is correct |
2 | Correct | 0 ms | 340 KB | Output is correct |
3 | Correct | 0 ms | 340 KB | Output is correct |
4 | Correct | 39 ms | 6316 KB | Output is correct |
5 | Correct | 153 ms | 23992 KB | Output is correct |
6 | Correct | 155 ms | 24056 KB | Output is correct |
7 | Correct | 159 ms | 24008 KB | Output is correct |
8 | Correct | 1 ms | 352 KB | Output is correct |
9 | Correct | 39 ms | 6320 KB | Output is correct |
10 | Correct | 156 ms | 24544 KB | Output is correct |
11 | Correct | 154 ms | 24064 KB | Output is correct |
12 | Correct | 195 ms | 27316 KB | Output is correct |
13 | Correct | 1 ms | 340 KB | Output is correct |
14 | Correct | 1 ms | 356 KB | Output is correct |
15 | Incorrect | 1 ms | 340 KB | Answer gives possible 0 while actual possible 1 |
16 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 1 ms | 340 KB | Output is correct |
2 | Correct | 1 ms | 340 KB | Output is correct |
3 | Correct | 0 ms | 340 KB | Output is correct |
4 | Correct | 1 ms | 340 KB | Output is correct |
5 | Correct | 0 ms | 340 KB | Output is correct |
6 | Correct | 7 ms | 1236 KB | Output is correct |
7 | Correct | 161 ms | 22068 KB | Output is correct |
8 | Correct | 1 ms | 340 KB | Output is correct |
9 | Correct | 0 ms | 340 KB | Output is correct |
10 | Correct | 1 ms | 340 KB | Output is correct |
11 | Correct | 1 ms | 340 KB | Output is correct |
12 | Correct | 7 ms | 1180 KB | Output is correct |
13 | Correct | 153 ms | 22084 KB | Output is correct |
14 | Correct | 1 ms | 340 KB | Output is correct |
15 | Correct | 1 ms | 340 KB | Output is correct |
16 | Correct | 4 ms | 852 KB | Output is correct |
17 | Correct | 74 ms | 14116 KB | Output is correct |
18 | Correct | 1 ms | 340 KB | Output is correct |
19 | Correct | 1 ms | 340 KB | Output is correct |
20 | Correct | 42 ms | 6308 KB | Output is correct |
21 | Correct | 155 ms | 23972 KB | Output is correct |
22 | Correct | 155 ms | 24016 KB | Output is correct |
23 | Correct | 158 ms | 23984 KB | Output is correct |
24 | Correct | 156 ms | 23976 KB | Output is correct |
25 | Correct | 68 ms | 14128 KB | Output is correct |
26 | Correct | 68 ms | 14128 KB | Output is correct |
27 | Correct | 158 ms | 23960 KB | Output is correct |
28 | Correct | 179 ms | 23972 KB | Output is correct |
29 | Correct | 1 ms | 340 KB | Output is correct |
30 | Correct | 1 ms | 340 KB | Output is correct |
31 | Correct | 0 ms | 340 KB | Output is correct |
32 | Incorrect | 0 ms | 340 KB | Answer gives possible 1 while actual possible 0 |
33 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 1 ms | 340 KB | Output is correct |
2 | Correct | 1 ms | 340 KB | Output is correct |
3 | Correct | 0 ms | 340 KB | Output is correct |
4 | Correct | 1 ms | 340 KB | Output is correct |
5 | Correct | 0 ms | 340 KB | Output is correct |
6 | Correct | 7 ms | 1236 KB | Output is correct |
7 | Correct | 161 ms | 22068 KB | Output is correct |
8 | Correct | 1 ms | 340 KB | Output is correct |
9 | Correct | 0 ms | 340 KB | Output is correct |
10 | Correct | 1 ms | 340 KB | Output is correct |
11 | Correct | 1 ms | 340 KB | Output is correct |
12 | Correct | 7 ms | 1180 KB | Output is correct |
13 | Correct | 153 ms | 22084 KB | Output is correct |
14 | Correct | 1 ms | 340 KB | Output is correct |
15 | Correct | 1 ms | 340 KB | Output is correct |
16 | Correct | 4 ms | 852 KB | Output is correct |
17 | Correct | 74 ms | 14116 KB | Output is correct |
18 | Correct | 1 ms | 340 KB | Output is correct |
19 | Correct | 1 ms | 340 KB | Output is correct |
20 | Correct | 42 ms | 6308 KB | Output is correct |
21 | Correct | 155 ms | 23972 KB | Output is correct |
22 | Correct | 155 ms | 24016 KB | Output is correct |
23 | Correct | 158 ms | 23984 KB | Output is correct |
24 | Correct | 156 ms | 23976 KB | Output is correct |
25 | Correct | 68 ms | 14128 KB | Output is correct |
26 | Correct | 68 ms | 14128 KB | Output is correct |
27 | Correct | 158 ms | 23960 KB | Output is correct |
28 | Correct | 179 ms | 23972 KB | Output is correct |
29 | Correct | 1 ms | 340 KB | Output is correct |
30 | Correct | 1 ms | 340 KB | Output is correct |
31 | Correct | 0 ms | 340 KB | Output is correct |
32 | Incorrect | 0 ms | 340 KB | Answer gives possible 1 while actual possible 0 |
33 | Halted | 0 ms | 0 KB | - |