Submission #805637

#TimeUsernameProblemLanguageResultExecution timeMemory
805637vjudge1Split the Attractions (IOI19_split)C++17
0 / 100
47 ms11312 KiB
#include "split.h" #include "bits/stdc++.h" using namespace std; bool _b = 0; int tama_o = 0; vector<int> respuesta; vector< vector<int> > lista_de_adyacencia; vector<int> visitado; void DFS(int nodo){ visitado[nodo] = 1; if(_b) respuesta[nodo] = 2; else respuesta[nodo] = 3; tama_o--; if(tama_o <= 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 = min(b, c); if(tama_o == b) _b = 1; 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(_ndice < respuesta.size()){ if(respuesta[_ndice] == -1){ respuesta[_ndice] = 1; break; } _ndice++; } while(_ndice < respuesta.size()){ if(respuesta[_ndice] == -1){ if(_b) respuesta[_ndice] = 3; else respuesta[_ndice] = 2; } _ndice++; } return respuesta; }

Compilation message (stderr)

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