Submission #1063246

#TimeUsernameProblemLanguageResultExecution timeMemory
1063246De3b0oBeech Tree (IOI23_beechtree)C++17
9 / 100
2094 ms31112 KiB
#include "beechtree.h" #include<bits/stdc++.h> #include<random> #define ll long long #define F first #define S second #define in insert #define pb push_back #define ppb pop_back() #define d3 ios::sync_with_stdio(0);cin.tie(0);cout.tie(0); #define cans cout << ans << "\n"; #define yes cout << "Yes" << "\n"; #define no cout << "No" << "\n"; #define pll pair<ll,ll> #define lin cout << "\n"; #define sqr 340 #define mod 1000000007 #define mid ((l+r)/2) #define lc (2*x) #define rc (2*x+1) #define sq 547 using namespace std; vector<ll> adj[200009]; ll n , m; ll p[200009] , c[200009]; vector<ll> v; void dfs(ll x , ll pr) { v.pb(x); for(auto it : adj[x]) { if(it==pr) continue; dfs(it,x); } } std::vector<int> beechtree(int N, int M, std::vector<int> P, std::vector<int> C) { n=N; m=M; for(int i = 1 ; n>i ; i++) { adj[i].pb(P[i]); adj[P[i]].pb(i); } for(int i = 0 ; n>i ; i++) { p[i]=P[i]; c[i]=C[i]; } vector<int> ans; for(int i = 0 ; n>i ; i++) { v.clear(); dfs(i,p[i]); bool g = 0; sort(v.begin(),v.end()); do { if(v[0]!=i) continue; bool gg = 1; for(int j = 1 ; v.size()>j ; j++) { ll x = 0; for(int h = 1 ; j>h ; h++) { if(c[v[h]]==c[v[j]]) x++; } if(p[v[j]]!=v[x]) gg=0; } if(gg) g=1; } while(next_permutation(v.begin(),v.end())); ans.pb(g); } return ans; }

Compilation message (stderr)

beechtree.cpp: In function 'std::vector<int> beechtree(int, int, std::vector<int>, std::vector<int>)':
beechtree.cpp:67:37: warning: comparison of integer expressions of different signedness: 'std::vector<long long int>::size_type' {aka 'long unsigned int'} and 'int' [-Wsign-compare]
   67 |             for(int j = 1 ; v.size()>j ; j++)
      |                             ~~~~~~~~^~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...