Fliptile POJ - 상압 매거 1층
1905 단어 검색 진급
Fliptile
#include
#include
#include
#include
using namespace std;
#define maxn 22
#define inf 0x3f3f3f3f
#define ll long long
ll t,n,m,ans,sum=inf;
char gra[maxn][maxn],mmp[maxn][maxn],out[maxn][maxn],in[maxn][maxn],pr[maxn][maxn];
void check(int s)
{
memcpy(pr,out,sizeof(out));
for(int i=1; i0)
mmp[i][j-1]=='1'?mmp[i][j-1]='0':mmp[i][j-1]='1';
if(jm)
return;
if(cnt==m)
{
memcpy(gra,mmp,sizeof(mmp));
check(s);
memcpy(mmp,gra,sizeof(mmp));
return ;
}
out[0][cnt]='0';
dfs(cnt+1,s);
out[0][cnt]='1';
if(mmp[0][cnt]=='1')
{
mmp[0][cnt]='0';
if(cnt>0)
mmp[0][cnt-1]=='1'?mmp[0][cnt-1]='0':mmp[0][cnt-1]='1';
if(cnt0)
mmp[0][cnt-1]=='1'?mmp[0][cnt-1]='0':mmp[0][cnt-1]='1';
if(cnt0)
mmp[0][cnt-1]=='1'?mmp[0][cnt-1]='0':mmp[0][cnt-1]='1';
if(cnt0)
mmp[0][cnt-1]=='1'?mmp[0][cnt-1]='0':mmp[0][cnt-1]='1';
if(cnt