比赛 练习12 评测结果 AAAAAAAAAA
题目名称 新的开始 最终得分 100
用户昵称 Hzoi_QTY 运行时间 0.006 s
代码语言 C++ 内存使用 0.37 MiB
提交时间 2017-06-30 14:10:05
显示代码纯文本
#include<cstdio>
#include<iostream>
#include<cstdlib>
#include<string>
#include<cstring>
#include<algorithm>
using namespace std;
int a[400][400],minn[400],n,t=0,h[400];
bool v[400];
int yjn()
{
   freopen("newstart.in","r",stdin);
    freopen("newstart.out","w",stdout);
    cin>>n;
    memset(v,0,sizeof(v));
    for(int i=0;i<=n;i++)minn[i]=1000000;
    for(int i=1;i<=n;i++)scanf("%d",&h[i]);
    for(int i=1;i<=n;i++)
        for(int j=1;j<=n;j++)
          scanf("%d",&a[i][j]);
    int x=1;
    for(int i=1;i<=n;i++)
       if(h[i]<h[x])
          x=i;
    t+=h[x];
    minn[x]=0;
    for(int i=1;i<=n;i++)
    {
         int k=0;
         for(int j=1;j<=n;j++)
            if(!v[j]&&(minn[j]<minn[k]))
                k=j;
         v[k]=1;//cout<<"k"<<k;
         for(int j=1;j<=n;j++)
         {
                 if(!v[j]&&(a[k][j]<minn[j])&&(a[k][j]<=h[j]))
                    minn[j]=a[k][j];
                 else
                {
                     if((a[k][j]>h[j])&&(h[j]<minn[j]))
                    minn[j]=h[j];
                }
         }
          //for(int i=1;i<=n;i++)cout<<minn[i]<<" ";cout<<endl;
    }
    for(int i=1;i<=n;i++)
     {  t+=minn[i];}
    cout<<t;
    //while(1);
    return 0;
}
int qty=yjn();
int main(){;}