Submission #592415

#TimeUsernameProblemLanguageResultExecution timeMemory
592415snasibov05Tropical Garden (IOI11_garden)C++14
49 / 100
5073 ms1876 KiB
#include "garden.h"
#include "gardenlib.h"
#include <bits/stdc++.h>

using namespace std;

void dfs(int cur, int lst, int rem, int p, int& cnt, vector<vector<int>>& ed){
    if (rem == 0){
        if (p == cur) cnt++;
        return;
    }

    if (ed[cur].size() == 1 || (ed[cur][0] != lst)) dfs(ed[cur][0], cur, rem-1, p, cnt, ed);
    else dfs(ed[cur][1], cur, rem-1, p, cnt, ed);
}

void count_routes(int n, int m, int p, int r[][2], int q, int g[]){

    vector<vector<int>> ed(n+1);
    for (int i = 0; i < m; ++i) {
        ed[r[i][0]].push_back(r[i][1]);
        ed[r[i][1]].push_back(r[i][0]);
    }

    int ans = 0;
    for (int i = 0; i < n; ++i) dfs(i, -1, g[0], p, ans, ed);

    answer(ans);

}


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