P8733思路:就是把两个模板撮合在一起,用一个二进制数状压所有情况
#include <iostream>
#include <cstring>
#include <algorithm>
#include <cmath>
#define MAXN 20
#define MAXX 1 << MAXN
#define INF 0x3f3f3f3f
using namespace std;
struct qwq//一个坐标,可以用pair代替
{
int first;
int second;
} p[MAXN];
int dis[MAXN][MAXN], f[MAXX][MAXN];//dis[i][j]表示i,j之间最短距离,f[i][j]表示
double get_distance(int i, int j)//欧几里得距离
{
int x = p[i].first - p[j].first;
int y = p[i].second - p[j].second;
return sqrt(x * x + y * y);
}
int main()
{
int n, d;
cin >> n >> d;
for (int i = 0; i < n; i++)
{
cin >> p[i].first >> p[i].second;
}
for (int i = 0; i < n; i++)
for (int j = i + 1; j < n; j++)
{
dis[i][j] = get_distance(i, j) * 10000;
dis[j][i] = dis[i][j];
if (dis[