제출 #805637

#제출 시각아이디문제언어결과실행 시간메모리
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;
}

컴파일 시 표준 에러 (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...