Submission #1137139

#TimeUsernameProblemLanguageResultExecution timeMemory
1137139Alihan_8Tropical Garden (IOI11_garden)C++20
49 / 100
5094 ms1608 KiB
#include <bits/stdc++.h>
#include "garden.h"
#include "gardenlib.h"

using namespace std;

#define pb push_back

void count_routes(int N, int M, int P, int R[][2], int Q, int G[]){
	int n = N, m = M, q = Q;
	
	vector <vector<int>> adj(n);
	
	for ( int i = 0; i < m; i++ ){
		int u = R[i][0], v = R[i][1];
		
		adj[u].pb(v);
		adj[v].pb(u);
	}
	
	for ( int i = 0; i < q; i++ ){
		int k = G[i];
		
		int ans = 0;
		
		for ( int u = 0; u < n; u++ ){
			int p = -1, v = u;
			
			for ( int j = 1; j <= k; j++ ){
				int nxt = -1;
				
				if ( (int)adj[v].size() == 1 || adj[v][0] != p ){
					nxt = adj[v][0];
				} else nxt = adj[v][1];
				
				p = v, v = nxt;
			}
			
			ans += (v == P);
		}
		
		answer(ans);
	}
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...