제출 #638134

#제출 시각아이디문제언어결과실행 시간메모리
638134IwanttobreakfreeRegions (IOI09_regions)C++17
13 / 100
8098 ms20932 KiB
#include <iostream>
#include <vector>
using namespace std;
int ans;
void dfs(int a,vector<vector<int>>& g,vector<int>& reg,int target){
    if(reg[a]==target)ans++;
    for(int x:g[a]){
        dfs(x,g,reg,target);
    }
}
int main(){
    int n,r,q,x,y;
    cin>>n>>r>>q;
    vector<int> reg(n);
    vector<vector<int>> g(n,vector<int>());
    cin>>reg[0];
    for(int i=1;i<n;i++){
        cin>>x>>reg[i];
        x--;
        g[x].push_back(i);
    }
    while(q--){
        cin>>x>>y;
        ans=0;
        for(int i=0;i<n;i++)if(reg[i]==x)dfs(i,g,reg,y);
        cout<<ans<<'\n';
    }
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...