Submission #770742

#TimeUsernameProblemLanguageResultExecution timeMemory
770742adrilenTropical Garden (IOI11_garden)C++17
49 / 100
4 ms1108 KiB
#include "garden.h"
#include "gardenlib.h"
//#pragma GCC optimize("O3")
#include<bits/stdc++.h>
using namespace std;
using ll = long long;
using arr = array<int, 2>;
using arrr = array<int, 3>;

constexpr int maxn = 1e3;

basic_string <int> adj[maxn];


int k, goal;

int output = 0;
void dfs(int p, int par, int length)
{
    if (length == k) {
        if (p == goal) output++;

        return ;
    }

    if (par != adj[p][0] || adj[p].size() == 1)
    {
        dfs(adj[p][0], p, length + 1);
    } else {
        dfs(adj[p][1], p, length + 1);
    }
}

void count_routes(int n, int m, int P, int R[][2], int Q, int G[])
{
    k = G[0];
    goal = P;

    for (int i = 0; i < m; i++)
    {
        adj[R[i][0]].push_back(R[i][1]);
        adj[R[i][1]].push_back(R[i][0]);
    }

    for (int i = 0; i < n; i++)
    {
        dfs(i, -1, 0);
    }

    answer(output);
}


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