1 条题解
-
0
C++ :
#include<iostream> #include<cstdio> #include<cstring> using namespace std; int n,k,a[101][101],dis[101],sum=0,tot=0; void work(int); int main() { memset(a,0x7f,sizeof(a)); cin>>n>>k; int x,y,t; for(int i=1;i<=k;i++) { cin>>x>>y>>t; a[x][y]=a[y][x]=t; tot+=t; } work(1); cout<<tot-sum; } void work(int x) { for(int i=1;i<=n;i++) dis[i]=a[x][i]; dis[x]=0; for(int j=1;j<=n;j++) { int k,mi=0x7f7f7f7f; for(int i=1;i<=n;i++) { if(dis[i]<mi&&dis[i]!=0) { mi=dis[i]; k=i; } } sum+=dis[k]; dis[k]=0; for(int i=1;i<=n;i++) { if(dis[i]>a[k][i]) dis[i]=a[k][i]; } } }
- 1
信息
- ID
- 1467
- 时间
- 1000ms
- 内存
- 128MiB
- 难度
- (无)
- 标签
- 递交数
- 0
- 已通过
- 0
- 上传者