Submission #1105212

#TimeUsernameProblemLanguageResultExecution timeMemory
1105212jadai007열대 식물원 (Tropical Garden) (IOI11_garden)C++17
49 / 100
5084 ms7292 KiB
#include "garden.h"
#include "gardenlib.h"
#include <bits/stdc++.h>

using namespace std;

int ans = 0;
vector<int> vc[200200];

void dfs(int u, int k, int P, int par){
    if(k == 0){
        if(u == P) ans++;
        return;
    }
    if(vc[u].size() == 1) dfs(vc[u][0], k - 1, P, u);
    else{
        for(auto v:vc[u]){
            if(v == par) continue;
            dfs(v, k - 1, P, u);
            break;
        }
    }
}

void count_routes(int N, int M, int P, int R[][2], int Q, int G[]){
    for(int i = 0; i < M; ++i) vc[R[i][0]].emplace_back(R[i][1]), vc[R[i][1]].emplace_back(R[i][0]);
    for(int i = 0; i < N; ++i) dfs(i, G[0], P, -1);
    answer(ans);
}


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