/ Randle /

记录详情

Time Exceeded


  
# 状态 耗时 内存占用
#1 Accepted 3ms 368.0 KiB
#2 Accepted 5ms 396.0 KiB
#3 Accepted 2ms 360.0 KiB
#4 Accepted 511ms 384.0 KiB
#5 Accepted 433ms 256.0 KiB
#6 Accepted 3ms 364.0 KiB
#7 Accepted 11ms 384.0 KiB
#8 Time Exceeded ≥1002ms ≥256.0 KiB
#9 Accepted 602ms 368.0 KiB
#10 Accepted 639ms 344.0 KiB

代码

#include<iostream>
#include<cstdio>
#include<cmath>
using namespace std;
const int inf=999999999;
int n;
int city[20][20];
int ans=inf;
bool ju[20]={0};
bool jud[20][20];
void dfs(int a,int num,int t)
{
	if(t>ans||num>n) return;
	if(num==n&&a==0)
	{
		ans=min(ans,t);
		return;
	}
	for(int i=0;i<=n;i++)
	{
		if(a!=i&&!jud[a][i])
		{
			if(!ju[i])
	    	{
			  ju[i]=1;
			  jud[a][i]=1;
			  dfs(i,num+1,t+city[a][i]);
			  ju[i]=0;
			  jud[a][i]=0;
		    }
	        else
	        {
	    	  jud[a][i]=1;
	    	  dfs(i,num,t+city[a][i]);
	    	  jud[a][i]=0;
	        }
	    }
	}
}
int main()
{
	cin>>n;
	for(int i=0;i<=n;i++)
	{
		for(int j=0;j<=n;j++)
		{
			cin>>city[i][j];
		}
	}
	ju[0]=1;
	dfs(0,0,0);
	cout<<ans<<endl;
	return 0;
}

信息

递交者
类型
递交
题目
送外卖
题目数据
下载
语言
C++
递交时间
2018-08-30 21:40:54
评测时间
2018-08-30 21:40:54
评测机
分数
90
总耗时
≥3213ms
峰值内存
≥396.0 KiB