#include #include #include #include using namespace std; #define INF 0x3f3f3f3f typedef long long LL; const int N=55; int adj[N][N]; int pos[N],T[N],FT[N],pass[N]; int dis[N][1<<8][1<<8]; int n,m,K; void floyed() { for(int k=1;k<=n;k++) { for(int i=1;i<=n;i++) if(i!=k) { for(int j=1;j<=n;j++) if(j!=i&&j!=k) { adj[i][j]=min(adj[i][j],adj[i][k]+adj[k][j]); } } } } int fun() { int ans=INF; dis[1][0][0]=0; for(int s1=0;s1<(1<