记录编号 335736 评测结果 AAAAAAAA
题目名称 服务点设置 最终得分 100
用户昵称 GravatarZwoi_只会打表抄代码的蒟蒻 是否通过 通过
代码语言 C 运行时间 0.014 s
提交时间 2016-11-02 17:31:36 内存使用 0.34 MiB
显示代码纯文本
#include <stdio.h>
#define max 0x7f7f7f7f
int a[110][110],dis[110],n,m,i,j,x,y,z,book[110],min,k,l,minx,t,i1,u;
int main()
{
	freopen("djsa.in","r",stdin);
	freopen("djsa.out","w",stdout);
	memset(a,0x7f7f7f7f,sizeof(a));
	scanf("%d%d",&n,&m);
	for(i=0;i<n;i++)
		a[i][i]=0;
	for(i=1;i<=m;i++)
	{
		scanf("%d%d%d",&x,&y,&z);
		a[x][y]=z;
		a[y][x]=z;
	}
	minx=max;
	for(i=0;i<n;i++)
	{
		memset(book,0,sizeof(book));
		for(j=0;j<n;j++)
			dis[j]=a[i][j];
		book[i]=1;
		for(i1=0;i1<n;i1++)
		{
            min=max;			
			for(k=0;k<n;k++)
		    {
				if(book[k]==0&&dis[k]<min)
			    {
					min=dis[k];
				    u=k;
			    }
		    }
		    book[u]=1;
		    for(l=0;l<n;l++)
			    if((a[u][l]<max)&&(dis[l]>a[u][l]+dis[u]))
					dis[l]=a[u][l]+dis[u];
		}

		if(dis[u]<minx)
		{
			minx=dis[u];
			t=i;
		}
	}
	printf("%d",t);
	return 0;
}