问题一:
找根的函数,我写的代码:
int getfather(int n)
{
if(father[n]==n) return n;
else getfather(father[n]);
}
标程:
int Find(int n) {
if (father[n] == n) return n;
father[n] = Find(father[n]);
return father[n];
}
我觉得我写的函数如果根不是自己就找父节点,如果父节点的根还不是自己,还是可以往上找啊...感觉自己写的似乎没有错...
问题二:
题目: https://vijos.org/p/1034
按照标程我改了那个函数...依然是几乎所有点 Wrong Answer .....程序如下,和标程对比了下...实在没找到区别...求各位大大帮忙过目下了= =
找根的函数,我写的代码:
int getfather(int n)
{
if(father[n]==n) return n;
else getfather(father[n]);
}
标程:
int Find(int n) {
if (father[n] == n) return n;
father[n] = Find(father[n]);
return father[n];
}
我觉得我写的函数如果根不是自己就找父节点,如果父节点的根还不是自己,还是可以往上找啊...感觉自己写的似乎没有错...
问题二:
题目: https://vijos.org/p/1034
按照标程我改了那个函数...依然是几乎所有点 Wrong Answer .....程序如下,和标程对比了下...实在没找到区别...求各位大大帮忙过目下了= =