求助,考前打prim模板,全wa,十分火急

P3366 【模板】最小生成树

~~不会prim只会kruskal丝毫不怂~~
by Belarus @ 2019-11-14 17:19:23


目前发现,你没判断图是否联通,
by IC_QQQ @ 2019-11-14 17:24:11


你们说的是肾么??!! 我只会网络流啊
by Oughto @ 2019-11-14 17:24:18


还有, w[i][i]=0 ,
by IC_QQQ @ 2019-11-14 17:25:22


还有,你这个memset,是错的,是无效的,赋极大值应该是 0x3f ,
by IC_QQQ @ 2019-11-14 17:26:54


@[Belarus](/user/223392) 啊哈,跟我一样!
by 樱花飞舞 @ 2019-11-14 17:33:56


@[士道的超强CPU](/user/55522) 网络流和最小生成树有关系? 只会网络流能拿省一? xswl
by Zenurik @ 2019-11-14 17:40:05


发错代码了 ```cpp #include<iostream> #include<cstdio> #include<cstring> #include<cmath> using namespace std; int dist[5006],w[5004][5004]; bool vist[5004]; int main() { int n,m,x,y,z,ans=0; cin>>n>>m; for(int i=1;i<=n;i++) for(int j=1;j<=n;j++) w[i][j]=0x7fffffff/2; for(int i=1;i<=m;i++) { cin>>x>>y>>z; w[x][y]=z; w[y][x]=z; } for(int i=1;i<=n;i++) { dist[i]=0x7fffffff/2; } dist[1]=0; int j; for(int i=1;i<=n;i++) { int k=0x7fffffff/2; for(int s=1;s<=n;s++) { if(dist[s]<k&&vist[s]==0) { j=s; k=dist[s]; } } vist[j]=1; ans+=dist[j]; for(int s=1;s<=n;s++) { if(vist[s]==0&&dist[s]>w[j][s]) { dist[s]=w[j][s]; } } } cout<<ans<<endl; return 0; } ```
by 190040257a @ 2019-11-15 08:57:07


|