• poj 2485 Highways(简单题)


    View Code
     1 #include<stdio.h>
     2 #include<string.h>
     3 #define M 70000
     4 #define N 510
     5 int map[N][N],a[N],b[N];
     6 int n;
     7 int met()
     8 {
     9     int i,k,min;
    10     k=1;
    11     a[k]=0;
    12     while(b[k]==0)
    13     {
    14         b[k]=1;
    15         for(i=1;i<=n;i++)
    16             if(b[i]==0&&a[i]>map[k][i])
    17                 a[i]=map[k][i];
    18         min=M;
    19         for(i=1;i<=n;i++)
    20             if(b[i]==0&&a[i]<min)
    21             {
    22                 min=a[i];
    23                 k=i;
    24             }
    25     }
    26 
    27      min=0;
    28         for(i=2;i<=n;i++)
    29             if(min<a[i])
    30                 min=a[i];
    31     return min;
    32 }
    33 
    34 
    35 int main()
    36 {
    37     int i,j;
    38     int x,y,z;
    39     int t;
    40     scanf("%d",&t);
    41     while(t--)
    42     {
    43          scanf("%d",&n);    
    44         for(i=1;i<=n;i++)
    45         {
    46             for(j=1;j<=n;j++)
    47                 scanf("%d",&map[i][j]);
    48         }
    49         memset(a,9,sizeof(a));//将a[]数组值为最大
    50         memset(b,0,sizeof(b));
    51             printf("%d\n",met());
    52     }
    53 
    54     return 0;
    55 }                              
    View Code
     1 #include<stdio.h>
     2 #include<string.h>
     3 #define M 70000
     4 #define N 510
     5 int map[N][N],a[N],b[N];
     6 int n;
     7 int met()
     8 {
     9     int i,k,flag,min;
    10     for(i=1;i<=n;i++)
    11     {
    12         a[i]=map[1][i];
    13     }
    14     b[1]=1;
    15     while(1)
    16     {
    17         flag=1;min=M;
    18         for(i=2;i<=n;i++)
    19             if(b[i]==0&&a[i]<min)
    20             {
    21                 min=a[i];flag=0;
    22                 k=i;
    23             }
    24             if(flag)
    25                 break;
    26             b[k]=1;
    27             for(i=2;i<=n;i++)
    28                 if(b[i]==0&&a[i]>map[k][i])
    29                     a[i]=map[k][i];
    30     }
    31      min=0;
    32         for(i=2;i<=n;i++)
    33             if(min<a[i])
    
    34                 min=a[i];
    35     return min;
    36 }
    37 
    38 
    39 int main()
    40 {
    41     int i,j;
    42     int x,y,z;
    43     int t;
    44     scanf("%d",&t);
    45     while(t--)
    46     {
    47          scanf("%d",&n);    
    48         for(i=1;i<=n;i++)
    49         {
    50             for(j=1;j<=n;j++)
    51                 scanf("%d",&map[i][j]);
    52         }
    53         memset(a,9,sizeof(a));
    54         memset(b,0,sizeof(b));
    55             printf("%d\n",met());
    56     }
    57 
    58     return 0;
    59 }                              
  • 相关阅读:
    一些常用的库
    isKindOfClass isMemeberOfClass 的区分
    自学知识的博客
    更新进度
    ORA-01950:对表空间“”XXXX”无权限,解决办法
    ORA-01589错误的解决办法
    背景四
    专题-主存储器与Cache的地址映射方式
    C语言中宏的相关知识
    Lab1:Linux内核编译及添加系统调用(详细版)
  • 原文地址:https://www.cnblogs.com/zlyblog/p/2616340.html
Copyright © 2020-2023  润新知