제출 #119962

#제출 시각아이디문제언어결과실행 시간메모리
119962Osama_AlkhodairyTropical Garden (IOI11_garden)C++17
49 / 100
9 ms4444 KiB
#include <bits/stdc++.h> #include "garden.h" #include "gardenlib.h" //~ #include "grader.cpp" using namespace std; const int maxn = 150001; int n, m, p, g[maxn][101]; vector <int> v[maxn]; int go(int node, int prev){ if(v[node].size() == 1) return v[node][0]; if(v[node][0] == prev) return v[node][1]; return v[node][0]; } void count_routes(int N, int M, int P, int R[][2], int Q, int G[]){ n = N; m = M; p = P; for(int i = 0 ; i < M ; i++){ v[R[i][0]].push_back(R[i][1]); v[R[i][1]].push_back(R[i][0]); } for(int node = 0 ; node < n ; node++){ g[node][0] = node; for(int step = 1 ; step <= 100 ; step++){ int cur = g[node][step - 1]; int prev = -1; if(step - 2 >= 0) prev = g[node][step - 2]; g[node][step] = go(cur, prev); } } vector <int> ans(101); for(int step = 1 ; step <= 100 ; step++){ for(int node = 0 ; node < n ; node++){ ans[step] += g[node][step] == p; } } for(int i = 0 ; i < Q ; i++){ answer(ans[G[i]]); } }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...