| ||||||||||
| Online Judge | Problem Set | Authors | Online Contests | User | ||||||
|---|---|---|---|---|---|---|---|---|---|---|
| Web Board Home Page F.A.Qs Statistical Charts | Current Contest Past Contests Scheduled Contests Award Contest | |||||||||
Re:AC了的程序,仅供参考In Reply To:AC了的程序,仅供参考 Posted by:A861223 at 2006-08-03 19:29:23 > #define maxn 1001
> #include<string.h>
> #include<stdio.h>
> long int use[maxn],f[maxn][maxn],d[maxn];
> long int min(long int a,long int b)
> {long int z;
> if (a>=b) z=b;
> else z=a;
> return(z);
> }
> void main()
> { long int max,k,q,i1,j1,i,j,x,y,n,m;
> scanf("%ld",&q);
> for(i1=1;i1<=q;i1++)
> {scanf("%ld %ld",&n,&m);
> memset(f,0,sizeof(f));
> for (j1=1;j1<=m;j1++)
> {scanf("%ld %ld",&x,&y);
> scanf("%ld",&f[x][y]);
> f[y][x]=f[x][y];}
> memset(d,0,sizeof(d));memset(use,0,sizeof(use));
> for (i=1;i<=n;i++) d[i]=f[1][i];use[1]=1;
> for (k=1;k<=n-1;k++)
> {max=0;
> for (i=1;i<=n;i++)
> if (use[i]==0&&d[i]>max) {j=i;max=d[i];}
> use[j]=1;
> for (i=1;i<=n;i++)
> if ((use[i]==0)&&(min(d[j],f[j][i])>d[i])) d[i]=min(d[j],f[j][i]);
> }
> printf("Scenario #%ld:\n",i1);
> printf("%ld\n",d[n]);
> printf("\n");
> }
> }
Followed by:
Post your reply here: |
All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator