求助,MLE (悬赏一关注

P1536 村村通

样例过了,但是0分MLE
by yonghang @ 2023-03-18 21:47:12


你这样例怎么过的
by InversionShadow @ 2023-03-18 21:49:31


@[yuandingquan1101](/user/672281) 抱歉,贴错代码了
by yonghang @ 2023-03-18 21:50:07


@[yuandingquan1101](/user/672281) ```cpp #include<bits/stdc++.h> using namespace std; int f[10001005],n,m,s; int findfa(int x) { return f[x] = f[x]==x?x:findfa(f[x]); } int main() { while(scanf("%d",&n)!=EOF) { s=0; if(n==0) break; scanf("%d",&m); for(int i=1;i<=n;i++) f[i]=i; for(int i=1;i<=m;i++) { int a,b; scanf("%d%d",&a,&b); f[a]=b; } for(int i=1;i<=n;i++) { if(findfa(f[i])==i)//自己等于自己本身,未合并,则不存在路 { s++; } } printf("%d\n",s-1); } } ```
by yonghang @ 2023-03-18 21:50:42


@[yonghang](/user/934196) 你的合并也要函数实现吧 去看看并查集模板
by InversionShadow @ 2023-03-18 21:51:52


`f[find(a)]=find(b)`
by InversionShadow @ 2023-03-18 21:53:03


@[yuandingquan1101](/user/672281) A了!谢谢大佬! 已经关注
by yonghang @ 2023-03-18 21:55:25



by sunny789 @ 2023-03-18 22:23:20


|