g++能过,c++过不了

可能原因:

1.在递归的时候,递归函数中忘记加返回return。(详见Wrong Answer,Memory Limit Exceeded

代码1:错误

g++--------accepted

c++---------wrong answer

int set_find(int d)
{
	if(set[d]<0)
		return d;
	set_find(set[d]);//这里递归时没有返回值,只有在结束条件时返回(即最后一层递归有返回值,前面的没有返回值)
}
代码2:正确

int set_find(int d)
{
	if(set[d]<0)
		return d;
	return set_find(set[d]);
}

2.

未完待续。

原文地址:https://www.cnblogs.com/gongpixin/p/4477409.html