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

	x[++num]=t;
	while(a[t][0]!=0)
	{
		x[++num]=a[t][0];
		t=a[t][0];
	}
	printf("%d",x[num]);
	for(i=num-1;i>=1;i--)
	printf("-%d",x[i]);
	printf("\n%d",m);
}