Submission #367454

#TimeUsernameProblemLanguageResultExecution timeMemory
367454MilosMilutinovicConnecting Supertrees (IOI20_supertrees)C++14
Compilation error
0 ms0 KiB
#include <bits/stdc++.h> using namespace std; #define pb push_back const int N=1050; vector<int> E[N]; vector<vector<int>> p,ans; void AddEdge(int u,int v){E[u].pb(v);E[v].pb(u);} bool was[N]; vector<int> euler; void DFS1(int u){ was[u]=true; euler.pb(u); for(int e:E[u])if(!was[e]&&p[u][e]==1)DFS1(e); } void construct(vector<vector<int>> P){ int n=(int)P.size();p=P; 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=0;j<n;j++)if(p[i][j]>0)AddEdge(i,j); for(int i=0;i<n;i++)if(!was[i]){ DFS1(i); 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 from=euler[i],to=euler[i-1]; ans[from][to]=ans[to][from]=1; } euler.clear(); } memset(was,false,sizeof(was)); for(int i=0;i<n;i++)if(!was[i]){ DFS2(i); if((int)euler.size()==1){ euler.clear(); continue; } if((int)euler.size()==2)return 0; for(int x:euler)for(int y:euler)if(x!=y&&p[x][y]==0)return 0; for(int i=0;i<(int)euler.size();i++){ int from=euler[i],to=euler[i-1]; ans[from][to]=ans[to][from]=1; } int from=euler[0],to=euler.back(); ans[from][to]=ans[to][from]=1; euler.clear(); } build(ans); return 1; } int main(){ return 0; }

Compilation message (stderr)

supertrees.cpp: In function 'void construct(std::vector<std::vector<int> >)':
supertrees.cpp:18:66: error: return-statement with a value, in function returning 'void' [-fpermissive]
   18 |     for(int i=0;i<n;i++)for(int j=0;j<n;j++)if(p[i][j]==3)return 0;
      |                                                                  ^
supertrees.cpp:22:68: error: return-statement with a value, in function returning 'void' [-fpermissive]
   22 |         for(int x:euler)for(int y:euler)if(x!=y&&p[x][y]==0)return 0;
      |                                                                    ^
supertrees.cpp:31:9: error: 'DFS2' was not declared in this scope; did you mean 'DFS1'?
   31 |         DFS2(i);
      |         ^~~~
      |         DFS1
supertrees.cpp:36:40: error: return-statement with a value, in function returning 'void' [-fpermissive]
   36 |         if((int)euler.size()==2)return 0;
      |                                        ^
supertrees.cpp:37:68: error: return-statement with a value, in function returning 'void' [-fpermissive]
   37 |         for(int x:euler)for(int y:euler)if(x!=y&&p[x][y]==0)return 0;
      |                                                                    ^
supertrees.cpp:46:5: error: 'build' was not declared in this scope
   46 |     build(ans);
      |     ^~~~~
supertrees.cpp:47:12: error: return-statement with a value, in function returning 'void' [-fpermissive]
   47 |     return 1;
      |            ^