#include #include const int R=7,C=8,N=30; const int d[2][2]={{0,1},{1, 0}}; int ans,t[R][C],g[R][C],vis[R][C],rec[N]; bool init() { ans=0; memset(rec,0,sizeof(rec)); memset(vis,0,sizeof(vis)); for(int i=0;i=R||q>=C||vis[p][q]) continue; int k=t[g[x][y]][g[p][q]]; if(rec[k]) continue; vis[x][y]=vis[p][q]=k; rec[k]=1; dfs(x,y+1,c+1); rec[k]=vis[x][y]=vis[p][q]=0; } } int main() { #ifdef local freopen("pro.in","r",stdin); #endif SetUp(); int kase=0; while(init()) { if(kase) printf("\n\n\n"); printf("Layout #%d:\n\n",++kase); for(int i=0;i