#include #include #include #include using namespace std; #define rep(i,n) for(int i=0;i p[15]; int st[15]; int f[1<<16][20]; int to[15][20][20]; long long dp[15][25][25]; int num[1<<16]; int dx[]= {0,0,-1,1,1,1,-1,-1}; int dy[]= {-1,1,0,0,1,-1,1,-1}; int check(int x,int y) { if(x>=0 && x<4 && y>=0 && y<4)return 1; return 0; } int nxt(int t) { int ret=0; rep(i,17) { int x=i/4; int y=i%4; int cnt=0; for(int j=0; j<8; j++) { int nx = x+dx[j]; int ny = y+dy[j]; if(check(nx,ny)) { int pos = nx*4+ny; if((1<=0; i--) if((1<