RQNOJ 142 拜年

#include<stdio.h>  
int a[101][101],b[101];  
bool v[101];  
int ans,n;  
int main()  
{  
    scanf("%d",&n);  
    for (int i=1;i<=n;++i)  
        for (int j=1;j<=n;++j)  
        {  
            scanf("%d",&a[i][j]);  
            if (a[i][j]==0) a[i][j]=9999999;  
        }  
    for (int i=1;i<=n;++i) b[i]=a[1][i];  
    v[1]=true;  
    while (1)  
    {  
          int k=0,min=99999;  
          for (int i=1;i<=n;++i)  
              if (b[i]<min&&!v[i])  
              {  
                           min=b[i];  
                           k=i;  
              }  
          if (k==0) break;  
          v[k]=true;  
          ans+=b[k];  
          for (int i=1;i<=n;++i)  
              if (!v[i]&&a[k][i]<b[i])  
                 b[i]=a[k][i];  
    }  
    printf("%d/n",ans);  
    return 0;  
}  
一道传说中特别坑的题,据说某校信奥团队一下午把此题的通过率拉低了一半。WA的从2点持续到5点,据不完全统计,貌似一群人在想kruskal,然后一直WA,累计100+

你可能感兴趣的:(图论)