Submission #591791

#TimeUsernameProblemLanguageResultExecution timeMemory
591791APROHACK기지국 (IOI20_stations)C++14
100 / 100
902 ms788 KiB
#include "stations.h"
#include <bits/stdc++.h>
#include <vector>
#define ff first
#define ss second
#define ll long long
#define pb push_back
using namespace std;
const int N = 1005;
vector<int>adj[N];
bool vis[N];
int cur = 0;
int labeled[N];
void dfs(int node, bool in){
	vis[node]=true;
	if(in)labeled[node]=cur++;
	for(int i = 0 ;i < adj[node].size() ; i++){
		if(!vis[adj[node][i]])dfs(adj[node][i], !in);
	}
	if(!in)labeled[node]=cur++;

}
vector<int> label(int n, int k, std::vector<int> u, std::vector<int> v) {
	cur=0;
	memset(vis, false, sizeof vis);
	for(int i = 0 ; i < n ; i++){
		adj[i].clear();
	}
	vector<int> labels(n);
	for(int i = 0 ; i < n-1  ; i ++){
		adj[u[i]].pb(v[i]);
		adj[v[i]].pb(u[i]);
	}
	dfs(0, true);
	for(int i = 0 ; i < n ; i ++){
		labels[i]=labeled[i];
	}
	return labels;
}

int find_next_station(int s, int t, vector<int> c) {
	
	if(c[0]>s){
		//es un in
		if(t<s || t>=c[c.size()-1]){
			return c[c.size()-1];
		}else{
			int ans = 0;
			for(int i = c.size()-1 ; i>= 0 ; i--){
				if(c[i]>=t)ans=i;
			}
			return c[ans];
		}
	}else{
		// es un out

		if(t>s || t<=c[0]){
			return c[0];
		}else{
			int ans = 0;
			for(int i = 0 ; i < c.size() ; i++){
				if(c[i]<=t)ans=i;
			}
			return c[ans];
		}
	}
}

Compilation message (stderr)

stations.cpp: In function 'void dfs(int, bool)':
stations.cpp:17:19: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   17 |  for(int i = 0 ;i < adj[node].size() ; i++){
      |                 ~~^~~~~~~~~~~~~~~~~~
stations.cpp: In function 'int find_next_station(int, int, std::vector<int>)':
stations.cpp:61:22: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   61 |    for(int i = 0 ; i < c.size() ; i++){
      |                    ~~^~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...