제출 #1328621

#제출 시각아이디문제언어결과실행 시간메모리
1328621Mamikonm1Tropical Garden (IOI11_garden)C++17
0 / 100
3 ms580 KiB
#include "garden.h"
#include "gardenlib.h"
#include<bits/stdc++.h>
using namespace std;
vector<vector<pair<int,int>>>graph;
vector<vector<int>>go;
int st,cnt;
void dfs(int u,int p,int d){
    go[st][d]=u;
    if(d==100)return;
    if(graph[u].size()==1){
        dfs(graph[u][0].first,u,d+1);
        return;
    }
    for(auto&i:graph[u])if(i.first!=p)
        dfs(i.first,u,d+1);
}
void count_routes(int N, int M, int P, int R[][2], int Q, int G[])
{
    graph.resize(N);
    go.resize(N,vector<int>(101));
    for(int i=0;i<M;++i){
        graph[R[i][0]].push_back({R[i][1],i});
        graph[R[i][1]].push_back({R[i][0],i});
    }
    for(int i=0;i<N;++i){
        st=i;
        dfs(i,-1,0);
    }
    for(int i=0;i<Q;++i){
        cnt=0;
        for(int j=0;j<N;++j)cnt+=go[j][G[i]]==P;
        answer(cnt);
    }
}


#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...