제출 #118825

#제출 시각아이디문제언어결과실행 시간메모리
118825wilwxkRegions (IOI09_regions)C++11
0 / 100
104 ms35524 KiB
#include <bits/stdc++.h> using namespace std; const int MAXN=2e5+5; const int MAXC=25000; vector<int> g[MAXN]; int cor[MAXN], quer[MAXN][2]; unordered_map<int, int> m[MAXN]; map< pair<int, int>, int > resp; int n, r, q; void dfs(int z) { for(auto viz : g[z]) { dfs(viz); if(m[viz].size()>m[z].size()) swap(m[viz], m[z]); for(auto cur : m[viz]) m[z][cur.first]+=cur.second; } for(auto cur : m[z]) if(resp.find({cor[z], cur.first})!=resp.end()) resp[{cor[z], cur.first}]+=cur.second; } int main() { scanf("%d %d %d", &n, &r, &q); scanf("%d", &cor[1]); m[1][cor[1]]=1; for(int i=2; i<=n; i++) { int a, b; scanf("%d %d", &a, &b); g[a].push_back(i); cor[i]=b; m[i][b]=1; } for(int i=0; i<q; i++) { int a, b; scanf("%d %d", &a, &b); quer[i][0]=a; quer[i][1]=b; resp[{a, b}]=0; } dfs(1); for(int i=0; i<q; i++) printf("%d\n", resp[{quer[i][0], quer[i][1]}] ); }

컴파일 시 표준 에러 (stderr) 메시지

regions.cpp: In function 'int main()':
regions.cpp:23:7: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
  scanf("%d %d %d", &n, &r, &q);
  ~~~~~^~~~~~~~~~~~~~~~~~~~~~~~
regions.cpp:24:7: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
  scanf("%d", &cor[1]); m[1][cor[1]]=1;
  ~~~~~^~~~~~~~~~~~~~~
regions.cpp:26:18: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
   int a, b; scanf("%d %d", &a, &b);
             ~~~~~^~~~~~~~~~~~~~~~~
regions.cpp:32:18: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
   int a, b; scanf("%d %d", &a, &b);
             ~~~~~^~~~~~~~~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...