#include#include #define N 1001using namespace std;int n,S,b[11];bool a[N][N];void dfs(int now){ if(now==n+1) { bool ok=true; for(int i=1;i<=S && ok;i++) for(int j=1;j<=S && ok;j++) if(!a[i][j]) ok=false; if(ok) { printf("true"); exit(0); } else return; } int x=0,y=0; for(int i=1;i<=S && !x;i++) for(int j=1;j<=S && !y;j++) if(!a[i][j]) x=i,y=j; int R=S; for(int i=y+1;i<=S;i++) if(a[x][i]) { R=i-1; break; } for(int k=1;k<=min(R-y+1,S-x+1);k++) if(b[k]) { b[k]--; for(int i=x;i