Submission #34983

#TimeUsernameProblemLanguageResultExecution timeMemory
34983itsjustwinds스파이 (JOI13_spy)C++14
10 / 100
176 ms262100 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]; bitset<500005> c; void read(int &a) { a=0; char s=getchar(); for(;s>='0'&&s<='9';s=getchar()) { a=a*10+s-'0'; } } 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 p,q,u,v; int main() { //freopen("SPY.inp","r",stdin); int test; read(n); read(test); //cin>>n>>test; for (int i=1;i<=n;++i) { read(p); read(q); if (p) e1[p].push_back(i); else r1=i; if (q) e2[q].push_back(i); else r2=i; } while(test--) { read(u); read(v); a[u].set(test+1); b[v].set(test+1); } dfs1(r1); dfs2(r2); for (int i=1;i<=n;++i) { c=a[i]&b[i]; printf("%d\n",c.count()); } return 0; }

Compilation message (stderr)

spy.cpp: In function 'void dfs1(int)':
spy.cpp:19: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:28:23: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
         for (int i=0;i<e2[u].size();++i)
                       ^
spy.cpp: In function 'int main()':
spy.cpp:64:40: warning: format '%d' expects argument of type 'int', but argument 2 has type 'std::size_t {aka long unsigned int}' [-Wformat=]
                 printf("%d\n",c.count());
                                        ^
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...