标签:
人生第一次1A
写完即AC
艾玛高兴坏了
拉个屎冷静一下 = =
#include<stdio.h> #include<string.h> #include<algorithm> #include<map> #include<math.h> #define maxn 1111 #define inf 0xfffffff using namespace std; int treedis[maxn]; int dis[maxn][maxn]; bool vex[maxn]; int n; int cost; int prim() { int i,j,v; vex[0]=true; cost=0; int minn; int flag; for(i=0;i<n;i++) treedis[i]=dis[0][i]; for(i=1;i<n;i++) { minn=inf; flag=0; for(j=0;j<n;j++) { if(vex[j]==false&&minn>treedis[j]) { minn=treedis[j]; v=j; flag=1; } } if(flag==1) { cost+=minn; vex[v]=true; for (j=0;j<n;j++) { if(vex[j]==false&&treedis[j]>dis[v][j]) { treedis[j]=dis[v][j]; } } } else return 0; } return 1; } int main() { int i,j,s,t,c,m; while(~scanf("%d %d",&n,&m)) { for(i=0;i<n;i++) for(j=0;j<n;j++) dis[i][j]=inf; for(i=0;i<n;i++) { vex[i]=false; dis[i][i]=0; } while(m--) { scanf("%d %d %d",&s,&t,&c); if(c<dis[s][t]) dis[s][t]=dis[t][s]=c; } int x=prim(); if(x==0) { printf("impossible\n"); printf("\n"); } else { printf("%d\n",cost); printf("\n"); } } return 0; }
版权声明:本文为博主原创文章,未经博主允许不得转载。
hdu 2122:Ice_cream’s world III
标签:
原文地址:http://blog.csdn.net/whereyousink/article/details/47753285