记录编号 231710 评测结果 AAAAAAAAAA
题目名称 挖地雷 最终得分 100
用户昵称 Gravatar521 是否通过 通过
代码语言 C++ 运行时间 0.038 s
提交时间 2016-02-27 15:25:12 内存使用 0.40 MiB
显示代码纯文本
#include<stdio.h>
int t[201][201]={0},a[201]={0},b[201]={0},c[201]={0};
int main()
{
	freopen("landmine.in","r",stdin);
    freopen("landmine.out","w",stdout);
    int n,i,j,max,k,m=0;
    scanf("%d",&n);
    for(i=1;i<=n;i++)
      scanf("%d",&a[i]);
    while(1)
    {
		int x,y;
		scanf("%d%d",&x,&y);
		if(x==0&&y==0)break;
		t[x][y]=1;
	}
	b[n]=a[n];
	for(i=n-1;i>=1;i--)
	{
		max=0;k=0;
		for(j=i+1;j<=n;j++)
		{
			if(t[i][j]&&b[j]>max)
			{max=b[j];k=j;}
		}
		b[i]=max+a[i];
		if(b[i]>m) m=b[i];
		c[i]=k;
	}
	k=1;
	for(i=1;i<=n;i++)
	  if(b[i]>max)
	    {max=b[i];j=i;}
	printf("%d",j);
	j=c[j];
	while(j!=0)
	{
		printf("-%d",j);
		j=c[j];
	}
	printf("\n%d\n",max);
	return 0;
}