/ Randle /

记录详情

Accepted


  
# 状态 耗时 内存占用
#1 Accepted 7ms 6.086 MiB
#2 Accepted 7ms 6.105 MiB
#3 Accepted 8ms 6.0 MiB
#4 Accepted 10ms 6.0 MiB
#5 Accepted 8ms 6.102 MiB
#6 Accepted 7ms 6.078 MiB
#7 Accepted 5ms 6.109 MiB
#8 Accepted 16ms 6.086 MiB
#9 Accepted 5ms 6.113 MiB
#10 Accepted 9ms 6.113 MiB

代码

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

信息

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