Submission #1197118

#TimeUsernameProblemLanguageResultExecution timeMemory
1197118ivazivaConnecting Supertrees (IOI20_supertrees)C++20
Compilation error
0 ms0 KiB
#include <bits/stdc++.h> #include <vector> #include "supertrees.h" using namespace std; #define MAXN 1001 int N; int a[MAXN][MAXN]; int parent[MAXN],siz[MAXN]; vector<vector<int>> adj; set<int> compparents[2]; vector<int> korenovi; int get(int node) { if (parent[node]==node) return node; return get(parent[node]); } int construct(std::vector<std::vector<int>> p) { N=p.size();adj.resize(N); for (int i=0;i<N;i++) { parent[i]=i;siz[i]=1;adj[i].resize(N); for (int j=0;j<N;j++) {a[i][j]=p[i][j];adj[i][j]=0;} } for (int i=0;i<N;i++) { for (int j=0;j<N;j++) { if (a[i][j]!=a[j][i]) return 0; if (a[i][j]==3) return 0; for (int k=0;k<N;k++) { if (a[i][j]==1 and a[j][k]==1 and a[i][k]!=1) return 0; } } } for (int node=0;node<N;node++) { int korennode=get(node); for (int sled=0;sled<N;sled++) { if (a[node][sled]!=1) continue; int korensled=get(sled);if (korensled==korennode) continue; if (siz[korennode]<siz[korensled]) swap(korennode,korensled); parent[korensled]=korennode;siz[korennode]+=siz[korensled]; adj[korennode][korensled]=adj[korensled][korennode]=1; } } for (int node=0;node<N;node++) { if (parent[node]==node) {compparents[0].insert(node);compparents[1].insert(node);} } for (int node:compparents[0]) { if (compparents[1].find(node)==compparents[1].end()) continue; korenovi.push_back(node); for (int sled:compparents[1]) { if (a[node][sled]==2) korenovi.push_back(sled); } for (int koren:korenovi) compparents[1].erase(koren); if (korenovi.size()==2) return 0; for (int siz=0;siz<korenovi.size()-1;siz++) {int node1=korenovi[siz],node2=korenovi[siz+1];adj[node1][node2]=adj[node2][node1]=1;} int node1=korenovi[0],node2=korenovi[korenovi.size()-1];adj[node1][node2]=adj[node2][node1]=1;korenovi.clear(); } for (int i=0;i<N;i++) b[i][i]=0; build(adj);return 1; };

Compilation message (stderr)

supertrees.cpp: In function 'int construct(std::vector<std::vector<int> >)':
supertrees.cpp:71:27: error: 'b' was not declared in this scope
   71 |     for (int i=0;i<N;i++) b[i][i]=0;
      |                           ^