/ Randle /

记录详情

Accepted


  
# 状态 耗时 内存占用
#1 Accepted 5ms 4.25 MiB
#2 Accepted 4ms 4.352 MiB
#3 Accepted 6ms 4.363 MiB
#4 Accepted 9ms 4.25 MiB
#5 Accepted 16ms 4.25 MiB
#6 Accepted 4ms 4.203 MiB
#7 Accepted 7ms 4.355 MiB
#8 Accepted 18ms 4.375 MiB
#9 Accepted 8ms 4.359 MiB
#10 Accepted 5ms 4.363 MiB

代码

#include<bits/stdc++.h>
using namespace std;
int n,city[16][16],dp[16][(1<<16)];
int main(){
	ios::sync_with_stdio(false);
	cin.tie(NULL);
	cout.tie(NULL);
	memset(city,63,sizeof(city));
	cin>>n;
	for(int i=0;i<=n;i++){
		for(int j=0;j<=n;j++){
			cin>>city[i][j];
		}
	}
	for(int k=0;k<=n;k++){
		for(int i=0;i<=n;i++){
			for(int j=0;j<=n;j++){
				city[i][j]=min(city[i][j],city[i][k]+city[k][j]);
			}
		}
	}
	memset(dp,63,sizeof(dp));
	dp[0][0]=0;
	for(int k=0;k<=(1<<(n+1))-1;k++){
		for(int i=0;i<=n;i++){
			if((k|(1<<i))==k){
				for(int j=0;j<=n;j++){
             		dp[i][k]=min(dp[i][k],min(dp[j][k-(1<<i)],dp[j][k])+city[i][j]);
				}
			}
		}
	}
	cout<<dp[0][(1<<(n+1))-1];
	return 0;
}

信息

递交者
类型
递交
题目
送外卖
题目数据
下载
语言
C++
递交时间
2018-09-13 17:42:17
评测时间
2018-09-13 17:42:17
评测机
分数
100
总耗时
86ms
峰值内存
4.375 MiB