Submission #980937

#TimeUsernameProblemLanguageResultExecution timeMemory
980937vjudge1Beech Tree (IOI23_beechtree)C++17
Compilation error
0 ms0 KiB
#include <algorithm> #include <fstream> #include <vector> #include <queue> #include <stack> #include <iostream> #include <cmath> #include <queue> #include <set> #include <string> #include <cstring> #include <map> #include <unordered_map> #include <unordered_set> #include <iomanip> #define F first #define S second #define PB push_back using namespace std; const long long MOD=1e9+7, INF=1e18; const int INFI=1e9; typedef long long ll; typedef pair<int, int> ii; typedef vector<int> vi; typedef vector<vi> vvi; typedef vector<ii> vii; typedef vector<pair<int, ii>> viii; typedef vector<vii> vvii; typedef vector<ll> vll; typedef vector<vll> vvll; void getSize(vvii &al, vi &sz, int node=0, int p=0){ for(auto num:al[node]){ if(num.F!=p) getSize(al, sz, num.F, node); sz[node]+=sz[num.F]; } } void getPerm(vvii &al, vi &perm, int node, int p, int index){ perm[index]=node; for(auto num:al[node]) if(num.F!=p) getPerm(al, perm, num.F, node, ++index); } bool check(vi &perm, vi &p, vi &cnt, vi &c, vi &index, int root){ if(perm[0]!=root) return false; for(int i=1;i<(int)perm.size();i++){ if(cnt[c[perm[i]]]!=index[p[perm[i]]]) return false; cnt[c[perm[i]]]++; } return true; } vi beechtree(int n, int m, vi p, vi c) //int main() { ios_base::sync_with_stdio(false); cin.tie(NULL); /* int n, m; cin>>n>>m; vi p(n), c(n); for(int i=0;i<n;i++) cin>>p[i]; for(int i=0;i<n;i++) cin>>c[i]; */ vi ans(n, 0), sz(n, 1); vvii al(n, vii()); for(int i=0;i<n;i++) if(i!=0) al[p[i]].PB({i, c[i]}); getSize(al, sz); for(int i=0;i<n;i++){ if(al[i].size()==0){ ans[i]=1; continue; } vi perm(sz[i]), cnt(m+1, 0), index(n); getPerm(al, perm, i, p[i], 0); sort(perm.begin(), perm.end()); do{ for(int j=0;j<sz[i];j++) index[perm[j]]=j; for(int j=0;j<=m;j++). cnt[j]=0; if(check(perm, p, cnt, c, index, i)) ans[i]=1; }while(next_permutation(perm.begin(), perm.end())); } //for(int i=0;i<n;i++) cout<<ans[i]<<" "; return ans; }

Compilation message (stderr)

beechtree.cpp: In function 'vi beechtree(int, int, vi, vi)':
beechtree.cpp:78:34: error: expected primary-expression before '.' token
   78 |             for(int j=0;j<=m;j++).   cnt[j]=0;
      |                                  ^