Submission #1153412

#TimeUsernameProblemLanguageResultExecution timeMemory
1153412owoovoSplit the Attractions (IOI19_split)C++20
Compilation error
0 ms0 KiB
#include "split.h"
#include<bits/stdc++.h>
using namespace std;
vector<int> e[100010];
vector<int> res;
int n,a,b,c,cor[3],ok;
void color(int now,int c,int &num){
	if(num==0)return;
	res[now]=c;
	num--;
	for(auto x:e[now]){
		if(res[x])continue;
		color(x,c,num);
	}
	return;
}
int dfs(int now,int last){
	if(ok)return;
	int sz=1;
	for(auto x:e[now]){
		if(x==last)continue;
		sz+=dfs(x,now);
	}
	for(int i=1;i<=3;i++){
		for(int j=1;j<=3;j++){
			if(ok)continue;
			if(i==j)continue;
			if(sz>=cor[i-1]&&n-sz>=cor[j-1]){
				res[now]=i,color(now,i,cor[i-1]);
				res[last]=j,color(now,j,cor[j-1]);
				for(int k=0;k<n;k++){
					res[k]=6-i-j;
				}
			}
		}
	}
	return sz;
}
vector<int> find_split(int N, int A, int B, int C, vector<int> p, vector<int> q) {
	n=N;
	int a=A,b=B,c=C;
	cor[0]=a,cor[1]=b,cor[2]=c;
	res.resize(n);
	for(int i=0;i<p.size();i++){
		e[p[i]].push_back(q[i]);
		e[q[i]].push_back(p[i]);
	}
	dfs(0,0);
	return res;
}

Compilation message (stderr)

split.cpp: In function 'int dfs(int, int)':
split.cpp:18:15: error: return-statement with no value, in function returning 'int' [-fpermissive]
   18 |         if(ok)return;
      |               ^~~~~~