#include<iostream> #include<stdio.h> #include<string.h> using namespace std; int dp[7][7]; int ans=0; int dx[]={-1,1,0,0}; int dy[]={0,0,-1,1}; bool vis[7][7]; void output() { for(int i = 1;i<= 6;i++) { for(int j = 1;j<= 6;j++) { cout<<vis[i][j]<<' '; } cout<<endl; } cout<<endl<<endl; } void dfs(int x,int y,int t){ if(t>12){ return ; } if(x==0&&y==0&&vis[x][y]==true){ ans++; output(); return ; } for(int i=0;i<4;i++){ int xx = x+dx[i]; int yy = y+dy[i]; if(xx>=0&&xx<=5&&y>=0&&y<=5&&!vis[xx][yy]){ vis[xx][yy] = true; dfs(xx,yy,t+1); vis[xx][yy] = false; } } } int main(){ memset(dp,0,sizeof(dp)); memset(vis,false,sizeof(vis)); dfs(0,0,0); cout<<ans-2<<endl; return 0; }