洛谷p1433状压

给出n个点(n<=15)求出从(0,0)经过所有点的最短路线长度

状态压缩ans[i][j] ,其中i用二进制表示经过了哪些点,j表示当前停留在什么点,dfs加剪枝即可

#include 
#include 
#include 
#include 
using namespace std;
const int INF=0x3f3f3f3f;
const int maxn=1<<16;
double dis[16][16];
double x[16],y[16];
double ans[maxn][16];
double Ans;
int n,tp;
void dfs(int a,int b);
int main()
{
    x[0]=y[0]=0;
    while(scanf("%d",&n)!=EOF)
    {
         tp=1<Ans) continue;
        if(temp

 

你可能感兴趣的:(dfs)