题目大意:有一个人要跑完所有的路,且要跑的路程最短,问如何跑
解题思路:跑完所有的路,且要跑的路程最短,跑欧拉路肯定是最短的。但是给出的图有可能不是欧拉回路,所以得自己再拼凑一下
无向图的欧拉回路就是所有点的度都是偶数了,所以找出所有度为奇数的点,状压求解连接这些点的最短路
#include <cstdio>
#include <cstring>
#include <algorithm>
using namespace std;
const int N = 20;
const int INF = 0x3f3f3f3f;
const int S = (1 << 15) + 10;
int dis[N][N];
int degree[N], dp[S];
int ans, n,