제출 #1021259

#제출 시각아이디문제언어결과실행 시간메모리
1021259vjudge1Split the Attractions (IOI19_split)C++17
18 / 100
56 ms17244 KiB
#include "split.h"
#include<bits/stdc++.h>
using namespace std;
using lli=long long int;
#define pb push_back
#define deb(x) cout<<#x<<": "<<x<<endl;

vector<int> ans;
vector<bool> visited;
void dfs(int x, vector<vector<int>>& adj, int &cont,  int &a, int &b, int &c){

	if(cont<a){
		ans[x]=1;
	}
	else if(cont<a+b){
		ans[x]=2;
	}
	else ans[x]=3;
	for(int y: adj[x]){
		if(visited[y]) continue;
		visited[y]=true;
		cont++;
		dfs(y, adj,cont,a,b,c);
	}
}

vector<int> find_split(int n, int a, int b, int c, vector<int> p, vector<int> q) {
	ans.clear();
	visited.clear();
	ans.resize(n,0);
	visited.resize(n,0);
	//visited[0]=true;
	int cont=0;
	
	vector<vector<int>> adj(n);
	for(int i=0; i<p.size(); ++i){
		adj[p[i]].pb(q[i]);
		adj[q[i]].pb(p[i]);
	}
	int x=0;
	int gradoact=INT_MAX;
	for(int i=0; i<n; ++i){
		if(adj[i].size()<gradoact){
			x=i;
			gradoact=adj[i].size();
		}
	}
	visited[x]=1;
	dfs(x,adj,cont,a,b,c);
	return ans;
}

컴파일 시 표준 에러 (stderr) 메시지

split.cpp: In function 'std::vector<int> find_split(int, int, int, int, std::vector<int>, std::vector<int>)':
split.cpp:36:16: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   36 |  for(int i=0; i<p.size(); ++i){
      |               ~^~~~~~~~~
split.cpp:43:19: warning: comparison of integer expressions of different signedness: 'std::vector<int>::size_type' {aka 'long unsigned int'} and 'int' [-Wsign-compare]
   43 |   if(adj[i].size()<gradoact){
      |      ~~~~~~~~~~~~~^~~~~~~~~
#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...