人活着系列之芳姐和她的猪

来源:互联网 发布:天正不能访问到网络锁 编辑:程序博客网 时间:2024/05/02 00:15
http://blog.csdn.net/lucky_vikey/article/details/38424353  原文地址#include<stdio.h>#include<string.h>#define max 10000000                        //为什么改成#define max <span class="preprocessor" style="padding: 0px; margin: 0px; border: none; color: gray; font-family: Consolas, 'Courier New', Courier, mono, serif; line-height: 14px; background-color: rgb(248, 248, 248);">0x7FFFFFFF</span><span style="padding: 0px; margin: 0px; border: none; font-family: Consolas, 'Courier New', Courier, mono, serif; line-height: 14px; background-color: rgb(248, 248, 248);"> 答案就会有错误?</span>int dis[700][700];int juan[10050];int main(){    int n,m,k,i,j,u,v,w;    scanf("%d%d%d",&n,&m,&k);    for(i=1;i<=m;i++)    {        for(j=1;j<=m;j++)        {            if(i==j) dis[i][j]=0;            else dis[i][j]=max;        }    }    /* for(i=1;i<=m;i++)    {      for(j=1;j<=m;j++)      {          dis[i][j]=dis[j][i]=max;      }       dis[i][i]=0;    }*/    for(i=1;i<=n;i++)    {        scanf("%d",&juan[i]);       // printf("%d* * * * * *\n",juan[i]);    }    while(k--)    {        int a,b,c;        scanf("%d%d%d",&a,&b,&c);        if(dis[a][b]>c&&dis[b][a]>c)           {             dis[a][b]=dis[b][a]=c;             // printf("%d* * * * * *\n",dis[a][b]);           }    }      for(u=1;u<=m;u++)        {            for(v=1;v<=m;v++)            {                for(w=1;w<=m;w++)                {                    if(dis[v][u]+dis[u][w]<dis[v][w])                    {                        dis[v][w]=dis[v][u]+dis[u][w];                    }                }            }        }        int sum;        int min=max;        for(i=1;i<=m;i++)        {           sum=0;           for(j=1;j<=n;j++)           {               sum=sum+dis[i][juan[j]];           }           if(sum<min)            min=sum;        }        printf("%d\n",min);}

0 0