千找万找,终于找到错误了
HDU1102 (最小生成树)
RE-栈溢出了5遍;
1 int find_set(int x) 2 { 3 if(F[x] == x)///本来是if(F[x] == -1) return x;如果数据量很大的话,所有的F[x]可能就会被改成正值,不会有-1了,也就是说不会返回了,首先是数组受不鸟暴栈RE,然后是TLE 4 return x; 5 else 6 return find_set(F[x]); 7 } 8 int main() 9 { 10 ........... 11 repu(i,1,n+1) 12 F[i] = i;///本来是f[i] = -1,结果暴栈了; 13 ........... 14 }
百度之星1002,开始是RE-非法访问内存,原因就是数组开小了,然后就是RE-暴栈:原因却是数组放到main函数里了,变成全局变量就过了。。。
人生就像心电图,想要一帆风顺,除非game-over