# | Submission time | Handle | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
367116 | 2021-02-16T10:15:03 Z | MilosMilutinovic | Connecting Supertrees (IOI20_supertrees) | C++14 | 251 ms | 32236 KB |
#include <bits/stdc++.h> #include "supertrees.h" using namespace std; #define pb push_back const int N=1050; vector<int> E[N]; vector<vector<int>> p; void AddEdge(int u,int v){E[u].pb(v);E[v].pb(u);} vector<int> Euler; bool was[N]; void DFS1(int u){ was[u]=true,Euler.pb(u); for(int v:E[u])if(!was[v]&&p[u][v]==1)DFS1(v); } int construct(vector<vector<int>> P){ p=P;int n=(int)P.size(); for(int i=0;i<n;i++)for(int j=i+1;j<n;j++)if(p[i][j]>0)AddEdge(i,j); bool one=false,two=false; for(int i=0;i<n;i++)for(int j=0;j<n;j++)if(p[i][j]==1)one=true; for(int i=0;i<n;i++)for(int j=0;j<n;j++)if(p[i][j]==2)two=true; vector<vector<int>> ans(n,vector<int>(n,0)); if(!one&&!two){build(ans);return 1;} if(one&&!two){ for(int i=0;i<n;i++){ if(!was[i]){ DFS1(i); if((int)Euler.size()==1)continue; for(int x:Euler)for(int y:Euler)if(x!=y&&p[x][y]==0)return 0; for(int i=1;i<(int)Euler.size();i++){ int x=Euler[i],y=Euler[i-1]; ans[x][y]=ans[y][x]=1; } Euler.clear(); } } build(ans); return 1; } }
Compilation message
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 1 ms | 364 KB | Output is correct |
2 | Correct | 1 ms | 364 KB | Output is correct |
3 | Correct | 1 ms | 364 KB | Output is correct |
4 | Correct | 1 ms | 364 KB | Output is correct |
5 | Correct | 1 ms | 364 KB | Output is correct |
6 | Correct | 11 ms | 1644 KB | Output is correct |
7 | Correct | 251 ms | 32236 KB | Output is correct |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 1 ms | 364 KB | Output is correct |
2 | Correct | 1 ms | 364 KB | Output is correct |
3 | Correct | 1 ms | 364 KB | Output is correct |
4 | Correct | 1 ms | 364 KB | Output is correct |
5 | Correct | 1 ms | 364 KB | Output is correct |
6 | Correct | 11 ms | 1644 KB | Output is correct |
7 | Correct | 251 ms | 32236 KB | Output is correct |
8 | Incorrect | 1 ms | 364 KB | Answer gives possible 0 while actual possible 1 |
9 | Halted | 0 ms | 0 KB | - |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Incorrect | 1 ms | 364 KB | Answer gives possible 0 while actual possible 1 |
2 | Halted | 0 ms | 0 KB | - |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Incorrect | 1 ms | 364 KB | Answer gives possible 0 while actual possible 1 |
2 | Halted | 0 ms | 0 KB | - |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 1 ms | 364 KB | Output is correct |
2 | Correct | 1 ms | 364 KB | Output is correct |
3 | Correct | 1 ms | 364 KB | Output is correct |
4 | Correct | 1 ms | 364 KB | Output is correct |
5 | Correct | 1 ms | 364 KB | Output is correct |
6 | Correct | 11 ms | 1644 KB | Output is correct |
7 | Correct | 251 ms | 32236 KB | Output is correct |
8 | Incorrect | 1 ms | 364 KB | Answer gives possible 0 while actual possible 1 |
9 | Halted | 0 ms | 0 KB | - |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 1 ms | 364 KB | Output is correct |
2 | Correct | 1 ms | 364 KB | Output is correct |
3 | Correct | 1 ms | 364 KB | Output is correct |
4 | Correct | 1 ms | 364 KB | Output is correct |
5 | Correct | 1 ms | 364 KB | Output is correct |
6 | Correct | 11 ms | 1644 KB | Output is correct |
7 | Correct | 251 ms | 32236 KB | Output is correct |
8 | Incorrect | 1 ms | 364 KB | Answer gives possible 0 while actual possible 1 |
9 | Halted | 0 ms | 0 KB | - |