# | 제출 시각 | 아이디 | 문제 | 언어 | 결과 | 실행 시간 | 메모리 |
---|---|---|---|---|---|---|---|
915407 | 2024-01-23T20:01:43 Z | chirathnirodha | 슈퍼트리 잇기 (IOI20_supertrees) | C++17 | 188 ms | 22108 KB |
#include "supertrees.h" #include <vector> using namespace std; #define F first #define S sedond #define PB push_back #define MP make_pair #define P push #define I insert typedef long long ll; typedef long l; typedef unsigned long long ull; int uni[1000]; int fin(int x){ if(uni[x]==x)return x; else return fin(uni[x]); } void merg(int x,int y){ x=fin(x); y=fin(y); if(x<y)uni[y]=x; else uni[x]=y; } int construct(vector<vector<int>> p) { int n = p.size(); vector<vector<int>>answer(n,vector<int>(n,0)); for(int i=0;i<n;i++)uni[i]=i; for(int i=0;i<n;i++)for(int j=0;j<n;j++)if(p[i][j]==3)return 0; for(int i=0;i<n;i++){ for(int j=i+1;j<n;j++){ if(p[i][j]==1 && fin(i)!=fin(j)){ answer[i][j]=answer[j][i]=1; merg(i,j); } } } for(int i=0;i<n;i++){ vector<int> v;v.PB(fin(i)); for(int j=i+1;j<n;j++){ if(p[i][j]==2 && fin(i)!=fin(j)){ v.PB(fin(j)); merg(i,j); } } if(v.size()==2)return 0; if(v.size()>2){ for(int j=0;j<v.size()-1;j++){ answer[v[j]][v[j+1]]=answer[v[j+1]][v[j]]=1; } answer[i][v.back()]=answer[v.back()][i]; } } for(int i=0;i<n;i++)for(int j=i+1;j<n;j++)if(p[i][j]==0 && fin(i)==fin(j))return 0; build(answer); return 1; }
Compilation message
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 0 ms | 344 KB | Output is correct |
2 | Correct | 1 ms | 348 KB | Output is correct |
3 | Correct | 1 ms | 348 KB | Output is correct |
4 | Correct | 0 ms | 348 KB | Output is correct |
5 | Correct | 1 ms | 344 KB | Output is correct |
6 | Correct | 7 ms | 1112 KB | Output is correct |
7 | Correct | 180 ms | 22100 KB | Output is correct |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 0 ms | 344 KB | Output is correct |
2 | Correct | 1 ms | 348 KB | Output is correct |
3 | Correct | 1 ms | 348 KB | Output is correct |
4 | Correct | 0 ms | 348 KB | Output is correct |
5 | Correct | 1 ms | 344 KB | Output is correct |
6 | Correct | 7 ms | 1112 KB | Output is correct |
7 | Correct | 180 ms | 22100 KB | Output is correct |
8 | Correct | 1 ms | 348 KB | Output is correct |
9 | Correct | 1 ms | 348 KB | Output is correct |
10 | Correct | 0 ms | 348 KB | Output is correct |
11 | Correct | 1 ms | 348 KB | Output is correct |
12 | Correct | 8 ms | 1116 KB | Output is correct |
13 | Correct | 146 ms | 21988 KB | Output is correct |
14 | Correct | 1 ms | 348 KB | Output is correct |
15 | Correct | 0 ms | 344 KB | Output is correct |
16 | Correct | 3 ms | 860 KB | Output is correct |
17 | Correct | 67 ms | 12116 KB | Output is correct |
18 | Correct | 1 ms | 348 KB | Output is correct |
19 | Correct | 1 ms | 348 KB | Output is correct |
20 | Correct | 45 ms | 5716 KB | Output is correct |
21 | Correct | 144 ms | 22016 KB | Output is correct |
22 | Correct | 150 ms | 22108 KB | Output is correct |
23 | Correct | 147 ms | 22096 KB | Output is correct |
24 | Correct | 149 ms | 22016 KB | Output is correct |
25 | Correct | 63 ms | 12116 KB | Output is correct |
26 | Correct | 61 ms | 12116 KB | Output is correct |
27 | Correct | 163 ms | 21972 KB | Output is correct |
28 | Correct | 188 ms | 21952 KB | Output is correct |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 0 ms | 348 KB | Output is correct |
2 | Correct | 1 ms | 600 KB | Output is correct |
3 | Correct | 0 ms | 344 KB | Output is correct |
4 | Correct | 0 ms | 348 KB | Output is correct |
5 | Incorrect | 0 ms | 344 KB | Too few ways to get from 0 to 1, should be 2 found 1 |
6 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 1 ms | 348 KB | Output is correct |
2 | Incorrect | 1 ms | 344 KB | Too few ways to get from 0 to 1, should be 2 found 1 |
3 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 0 ms | 344 KB | Output is correct |
2 | Correct | 1 ms | 348 KB | Output is correct |
3 | Correct | 1 ms | 348 KB | Output is correct |
4 | Correct | 0 ms | 348 KB | Output is correct |
5 | Correct | 1 ms | 344 KB | Output is correct |
6 | Correct | 7 ms | 1112 KB | Output is correct |
7 | Correct | 180 ms | 22100 KB | Output is correct |
8 | Correct | 1 ms | 348 KB | Output is correct |
9 | Correct | 1 ms | 348 KB | Output is correct |
10 | Correct | 0 ms | 348 KB | Output is correct |
11 | Correct | 1 ms | 348 KB | Output is correct |
12 | Correct | 8 ms | 1116 KB | Output is correct |
13 | Correct | 146 ms | 21988 KB | Output is correct |
14 | Correct | 1 ms | 348 KB | Output is correct |
15 | Correct | 0 ms | 344 KB | Output is correct |
16 | Correct | 3 ms | 860 KB | Output is correct |
17 | Correct | 67 ms | 12116 KB | Output is correct |
18 | Correct | 1 ms | 348 KB | Output is correct |
19 | Correct | 1 ms | 348 KB | Output is correct |
20 | Correct | 45 ms | 5716 KB | Output is correct |
21 | Correct | 144 ms | 22016 KB | Output is correct |
22 | Correct | 150 ms | 22108 KB | Output is correct |
23 | Correct | 147 ms | 22096 KB | Output is correct |
24 | Correct | 149 ms | 22016 KB | Output is correct |
25 | Correct | 63 ms | 12116 KB | Output is correct |
26 | Correct | 61 ms | 12116 KB | Output is correct |
27 | Correct | 163 ms | 21972 KB | Output is correct |
28 | Correct | 188 ms | 21952 KB | Output is correct |
29 | Correct | 0 ms | 348 KB | Output is correct |
30 | Correct | 1 ms | 600 KB | Output is correct |
31 | Correct | 0 ms | 344 KB | Output is correct |
32 | Correct | 0 ms | 348 KB | Output is correct |
33 | Incorrect | 0 ms | 344 KB | Too few ways to get from 0 to 1, should be 2 found 1 |
34 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 0 ms | 344 KB | Output is correct |
2 | Correct | 1 ms | 348 KB | Output is correct |
3 | Correct | 1 ms | 348 KB | Output is correct |
4 | Correct | 0 ms | 348 KB | Output is correct |
5 | Correct | 1 ms | 344 KB | Output is correct |
6 | Correct | 7 ms | 1112 KB | Output is correct |
7 | Correct | 180 ms | 22100 KB | Output is correct |
8 | Correct | 1 ms | 348 KB | Output is correct |
9 | Correct | 1 ms | 348 KB | Output is correct |
10 | Correct | 0 ms | 348 KB | Output is correct |
11 | Correct | 1 ms | 348 KB | Output is correct |
12 | Correct | 8 ms | 1116 KB | Output is correct |
13 | Correct | 146 ms | 21988 KB | Output is correct |
14 | Correct | 1 ms | 348 KB | Output is correct |
15 | Correct | 0 ms | 344 KB | Output is correct |
16 | Correct | 3 ms | 860 KB | Output is correct |
17 | Correct | 67 ms | 12116 KB | Output is correct |
18 | Correct | 1 ms | 348 KB | Output is correct |
19 | Correct | 1 ms | 348 KB | Output is correct |
20 | Correct | 45 ms | 5716 KB | Output is correct |
21 | Correct | 144 ms | 22016 KB | Output is correct |
22 | Correct | 150 ms | 22108 KB | Output is correct |
23 | Correct | 147 ms | 22096 KB | Output is correct |
24 | Correct | 149 ms | 22016 KB | Output is correct |
25 | Correct | 63 ms | 12116 KB | Output is correct |
26 | Correct | 61 ms | 12116 KB | Output is correct |
27 | Correct | 163 ms | 21972 KB | Output is correct |
28 | Correct | 188 ms | 21952 KB | Output is correct |
29 | Correct | 0 ms | 348 KB | Output is correct |
30 | Correct | 1 ms | 600 KB | Output is correct |
31 | Correct | 0 ms | 344 KB | Output is correct |
32 | Correct | 0 ms | 348 KB | Output is correct |
33 | Incorrect | 0 ms | 344 KB | Too few ways to get from 0 to 1, should be 2 found 1 |
34 | Halted | 0 ms | 0 KB | - |