제출 #164887

#제출 시각아이디문제언어결과실행 시간메모리
164887DavidDamian열대 식물원 (Tropical Garden) (IOI11_garden)C++11
49 / 100
5 ms1116 KiB
#include "garden.h"
#include "gardenlib.h"
#include<bits/stdc++.h>
using namespace std;
void answer(int x);
struct edge
{
	int from,to;
	int w;
};
bool operator<(const edge e1,const edge e2)
{
	if(e1.w>e2.w) return true;
	else return false;
}
vector <edge> adjList[1005];
int routes[1005][105];
void make_route(int u)
{
	int last_taken=-1;
	int v=u;
	for(int i=0;i<101;i++){
		routes[u][i]=v;
		if(adjList[v][0].w!=last_taken || adjList[v].size()==1){
			last_taken=adjList[v][0].w;
			v=adjList[v][0].to;
		}
		else{
			last_taken=adjList[v][1].w;
			v=adjList[v][1].to;
		}
	}
}
void count_routes(int N, int M, int P, int R[][2], int Q, int G[])
{
	if(N>1000) return;
	for(int i=0;i<M;i++){
		int u=R[i][0];
		int v=R[i][1];
		edge e={u,v,M-i};
		adjList[u].push_back(e);
		swap(e.from,e.to);
		adjList[v].push_back(e);
	}
	for(int u=0;u<N;u++){
		int x=adjList[u].size();
		sort(adjList[u].begin(),adjList[u].end());
	}
	for(int u=0;u<N;u++){
		make_route(u);
	}
	int sum;
	for(int i=0; i<Q; i++){
		sum=0;
		for(int u=0;u<N;u++){
			if(routes[ u ][ G[i] ]==P) sum++;
		}
		answer(sum);
	}
}

컴파일 시 표준 에러 (stderr) 메시지

garden.cpp: In function 'void count_routes(int, int, int, int (*)[2], int, int*)':
garden.cpp:46:7: warning: unused variable 'x' [-Wunused-variable]
   int x=adjList[u].size();
       ^
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...