the problem requires that to calculate a minimum length of verge which is needed in order to fix all the point unfixed to the plain with fixed points.
状态压缩的dp,每个状态,枚举每一个可以添加活点的位置,每次的未固定的点,枚举可以连接的以固定的点
#include<stdio.h>
#include<math.h>
#define N 18
#define INF 1e100
int moveL[N+1];
void cal_move()
{
int i;
}
double min(double a,double b)
{
return a<b?a:b;
}
struct node
{
int x,y;
void input(){
scanf("%d%d",&x,&y);
}
}point[N];
double dist[N][N];
double dp[1<<N];
int main()
{
// cal_move();
int n,i,j,k,c,ini;
for(i=0;i<=N;++i)
moveL[i]=1<<i;
while(scanf("%d",&a