signed main?
by 小小小朋友 @ 2019-07-11 18:02:55
@[lijiaan](/space/show?uid=149872) #define int long long
by t162 @ 2019-07-11 18:04:28
……
by 小小小朋友 @ 2019-07-11 18:06:59
不连通应该输出“orz”呀(
by pjykk @ 2019-07-11 18:15:39
```cpp
dis[x]=0;
```
???雾(
by pjykk @ 2019-07-11 18:19:23
# 已过。
```cpp
#include <bits/stdc++.h>
#define N 5009
#define int long long
using namespace std;
int n,m;
vector<pair<int, int > > mp[N];
bool vis[N];
int dis[N];
int prim(int x) {
int ans=0;
int now=0;
int index=x;
vis[x]=1;
for(pair<int,int> v : mp[index]) {
if(vis[v.first]==0) {
dis[v.first]=min(dis[v.first],v.second);
}
}
for(int i=2; i<=n; i++) {
now=21474836461865;
index=0;
for(int j=1; j<=n; j++) {
if(vis[j]==0&&dis[j]<now) {
now=dis[j];
index=j;
}
}
vis[index]=1;
ans+=now;
for(pair<int,int> v : mp[index]) {
if(vis[v.first]==0) {
dis[v.first]=min(dis[v.first],v.second);
}
}
}
return ans;
}
signed main() {
memset(dis,127,sizeof(dis));
int x,y,z;
scanf("%lld %lld",&n,&m);
for(int i=1; i<=m; i++) {
scanf("%lld %lld %lld",&x,&y,&z);
mp[x].push_back(make_pair(y,z));
mp[y].push_back(make_pair(x,z));
}
cout<<prim(1);
return 0;
}
```
by si_zhong @ 2019-07-12 09:20:36
@[pjykk](/space/show?uid=94617) 不连通应该输出“orz”呀(
这个是假的,没有这样的测试点。
by si_zhong @ 2019-07-12 09:21:16
你是哪里错的啊,我也是样例过了全WA,我用的kuangbing的模板
by 不穿靴子的猫 @ 2019-07-19 15:45:33
@[不穿靴子的猫](/space/show?uid=154815) 我知道了,这个数据有毒,明明是无向图,居然边会输入两个权值,得选最小的那个
by 不穿靴子的猫 @ 2019-07-19 15:51:11