A sample Hamilton path HDU - 3538

题目大意:求从0开始的最短哈密顿路径,并且要求了某些点的先后顺序

题目分析:哈密顿路径:由指定的起点前往指定的终点,途中经过所有其他节点且只经过一次(百度百科)
状压dp
状态:dp[i][j]:i状态以j结尾;
转移方程:dp[i|(1<

#include
#include
#include
#include
using namespace std;
#define inf 0x3f3f3f3f
#define maxn 4194304
int dp[maxn][22];
int dis[22][22];
int pre[22];
int n,m;
int main()
{
	while(scanf("%d%d",&n,&m)!=EOF)
	{
		memset(pre,0,sizeof(pre));
		for(int i=0;i<(1<=inf) printf("-1\n");
		else printf("%d\n",ans);
	}
 } 

你可能感兴趣的:(状压dp)