Submission #805711

#TimeUsernameProblemLanguageResultExecution timeMemory
805711vjudge1Split the Attractions (IOI19_split)C++17
0 / 100
1 ms276 KiB
#include "split.h"
#include "bits/stdc++.h"
using namespace std;
vector<int> tama_o;
int actual = 0;
vector<int> respuesta;
vector< vector<int> > lista_de_adyacencia;
vector<int> visitado;
void DFS(int nodo){
    visitado[nodo] = 1;
    respuesta[nodo] = actual + 1;
    tama_o[actual]--;
    if(tama_o[actual] == 0) return;
    int _ndice = 0;
    while(_ndice < lista_de_adyacencia[nodo].size()){
        if(!visitado[lista_de_adyacencia[nodo][_ndice]]) DFS(lista_de_adyacencia[nodo][_ndice]);
        _ndice++;
    }
}
vector<int> find_split(int n, int a, int b, int c, vector<int> p, vector<int> q){
    tama_o = {a, b, c};
    lista_de_adyacencia.assign(n, vector<int>());
	int _ndice = 0;
	while(_ndice < p.size()){
        lista_de_adyacencia[p[_ndice]].push_back(q[_ndice]);
        lista_de_adyacencia[q[_ndice]].push_back(p[_ndice]);
        _ndice++;
	}
	visitado.assign(n, 0);
	respuesta.assign(n, -1);
	DFS(0);
	_ndice = 0;
	while(respuesta[_ndice] == -1) _ndice++;
	actual++;
	DFS(_ndice);
	_ndice = 0;
	while(respuesta[_ndice] == -1) _ndice++;
	actual++;
	DFS(_ndice);
	return respuesta;
}

Compilation message (stderr)

split.cpp: In function 'void DFS(int)':
split.cpp:15:18: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   15 |     while(_ndice < lista_de_adyacencia[nodo].size()){
      |           ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
split.cpp: In function 'std::vector<int> find_split(int, int, int, int, std::vector<int>, std::vector<int>)':
split.cpp:24:15: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   24 |  while(_ndice < p.size()){
      |        ~~~~~~~^~~~~~~~~~
#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...