Submission #1358435

#TimeUsernameProblemLanguageResultExecution timeMemory
1358435yc11열대 식물원 (Tropical Garden) (IOI11_garden)C++20
49 / 100
5093 ms1604 KiB
#include "garden.h"
#include "gardenlib.h"
#include<bits/stdc++.h>
using namespace std;
vector<int> n2;
vector<vector<int> > n1;
vector<int> v;
int ans = 0;
int k;
int Z;
void dfs(int x, int p, int d){

    if (x==-1) return;
    if (k==d) {if (x==Z) ans++;return;}
    if (n1[x].size()==1 and p!=-1) {dfs(p,x,d+1);return;}
    if (n1[x][0]==p) {dfs(n1[x][1],x,d+1);return;}
    dfs(n1[x][0],x,d+1);

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

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