Submission #34966

#TimeUsernameProblemLanguageResultExecution timeMemory
34966itsjustwinds스파이 (JOI13_spy)C++11
10 / 100
156 ms262144 KiB
#include<bits/stdc++.h> #define maxn 2005 using namespace std; int n,r1,r2; bitset<500005> a[maxn],b[maxn]; vector<int > e1[maxn],e2[maxn]; void dfs1(int u) { for (int i=0;i<e1[u].size();++i) { int v=e1[u][i]; a[v]=a[v]|a[u]; dfs1(v); } } void dfs2(int u) { for (int i=0;i<e2[u].size();++i) { int v=e2[u][i]; b[v]=b[v]|b[u]; dfs2(v); } } int main() { //freopen("SPY.inp","r",stdin); ios::sync_with_stdio(0); cin.tie(0); cout.tie(0); int test; cin>>n>>test; for (int i=1;i<=n;++i) { int p,q; cin>>p>>q; if (p) e1[p].push_back(i); else r1=i; if (q) e2[q].push_back(i); else r2=i; } while(test--) { int u,v; cin>>u>>v; a[u].set(test+1); b[v].set(test+1); } dfs1(r1); dfs2(r2); for (int i=1;i<=n;++i) { bitset<500005> c=a[i]&b[i]; cout<<(int)c.count()<<"\n"; } return 0; }

Compilation message (stderr)

spy.cpp: In function 'void dfs1(int)':
spy.cpp:9:23: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
         for (int i=0;i<e1[u].size();++i)
                       ^
spy.cpp: In function 'void dfs2(int)':
spy.cpp:18:23: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
         for (int i=0;i<e2[u].size();++i)
                       ^
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...