#include #include #include #include using namespace std; int hexagon[110][110]; int ori_size,n,cut_size[11]; bool can_cut(int x,int y,int size) { int i,j; if (y+2*size-2>ori_size*4 || x+size-1>ori_size*2) return false; if (y%2==1) { for (i=0;iori_size*2) return true; if (y>4*ori_size) return dfs(x+1,1); if (hexagon[x][y]==false) { for (j=y+1;j<=4*ori_size;j++) if (hexagon[x][j]) break; return dfs(x,j); } for (i=0;iori_size) { n=i-1; break; } for (i=0;i