可能原因:
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.
未完待续。