记录编号 335736 评测结果 AAAAAAAA
题目名称 服务点设置 最终得分 100
用户昵称 GravatarZwoi_只会打表抄代码的蒟蒻 是否通过 通过
代码语言 C 运行时间 0.014 s
提交时间 2016-11-02 17:31:36 内存使用 0.34 MiB
显示代码纯文本
  1. #include <stdio.h>
  2. #define max 0x7f7f7f7f
  3. int a[110][110],dis[110],n,m,i,j,x,y,z,book[110],min,k,l,minx,t,i1,u;
  4. int main()
  5. {
  6. freopen("djsa.in","r",stdin);
  7. freopen("djsa.out","w",stdout);
  8. memset(a,0x7f7f7f7f,sizeof(a));
  9. scanf("%d%d",&n,&m);
  10. for(i=0;i<n;i++)
  11. a[i][i]=0;
  12. for(i=1;i<=m;i++)
  13. {
  14. scanf("%d%d%d",&x,&y,&z);
  15. a[x][y]=z;
  16. a[y][x]=z;
  17. }
  18. minx=max;
  19. for(i=0;i<n;i++)
  20. {
  21. memset(book,0,sizeof(book));
  22. for(j=0;j<n;j++)
  23. dis[j]=a[i][j];
  24. book[i]=1;
  25. for(i1=0;i1<n;i1++)
  26. {
  27. min=max;
  28. for(k=0;k<n;k++)
  29. {
  30. if(book[k]==0&&dis[k]<min)
  31. {
  32. min=dis[k];
  33. u=k;
  34. }
  35. }
  36. book[u]=1;
  37. for(l=0;l<n;l++)
  38. if((a[u][l]<max)&&(dis[l]>a[u][l]+dis[u]))
  39. dis[l]=a[u][l]+dis[u];
  40. }
  41.  
  42. if(dis[u]<minx)
  43. {
  44. minx=dis[u];
  45. t=i;
  46. }
  47. }
  48. printf("%d",t);
  49. return 0;
  50. }