Submission #226024

#TimeUsernameProblemLanguageResultExecution timeMemory
226024cfalasCrocodile's Underground City (IOI11_crocodile)C++14
0 / 100
10 ms512 KiB
#include<bits/stdc++.h>
using namespace std;
#include "crocodile.h"
#define F first
#define S second
#define ll long long
typedef pair<ll, ll> ii;
typedef vector<ii> vii;

int ans=0;
vector<vii> adj;
bool vis[1000000];
bool nice[1000000];
bool dfs(int s){
	cout<<s<<" ";
	vis[s] = true;
	if(nice[s]) return true;
	cout<<adj[s].size()<<endl;
	int ind=0;
	int cnt=0;
	for(auto x : adj[s]){
		//cout<<" "<<x.S<<" "<<vis[x.S]<<endl;
		if(!vis[x.S]) cnt++;
		if(cnt==2) break;
		ind++;
	}
	//cout<<ind<<endl;
	if(ind!=0){
		ans+=adj[s][ind].F;
		if(dfs(adj[s][ind].S)) return true;

	}
	return false;
}

int travel_plan(int n, int m, int r[][2], int l[], int k, int p[]) {
	adj.assign(n+1, vii());
	for(int i=0;i<m;i++){
		adj[r[i][0]].push_back(ii(l[i], r[i][1]));
		adj[r[i][1]].push_back(ii(l[i], r[i][0]));
	}
	for(int i=0;i<n;i++){
		sort(adj[i].begin(), adj[i].end());
	}
	dfs(0);
	return ans;
}


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