就是旅行商问题
给出一张无向图 要求从1号点开始遍历所有的点最后再回到一号点 总的距离最短
因为数据小 先跑一边floyd
显然想要算路径要求明确两个点 转移的目标点是明确的 但另一个点需要开一维dp来记录
#includeusing namespace std;//input by bxd#define rep(i,a,b) for(int i=(a);i<=(b);i++)#define repp(i,a,b) for(int i=(a);i>=(b);--i)#define RI(n) scanf("%d",&(n))#define RII(n,m) scanf("%d%d",&n,&m)#define RIII(n,m,k) scanf("%d%d%d",&n,&m,&k)#define RS(s) scanf("%s",s);#define ll long long#define pb push_back#define REP(i,N) for(int i=0;i<(N);i++)#define CLR(A,v) memset(A,v,sizeof A)//#define inf 0x3f3f3f3fconst int N=20;int mp[N][N];int n,m,a,b,c;int dp[1<