标签:sharp step print data min ipa char stdin turn
#include<iostream>
char data[16];
int a[16];
int d[4]={-4,1,4,-1};
char b[16];
int flag;
int count=0;
int min=1000;
void dfs(int step)
{
if(step==16)
{
/* for(int i=0;i<16;i++)
printf("%d",a[i]);
printf("\n");*/
count=0;flag=1;
for(int i=0;i<16;i++)
b[i]=data[i];
for(int i=0;i<16;i++)
{
/*if(a[i]==0)
b[i]=data[i];*/
if(a[i]==1)
{
if(b[i]==‘b‘)
{
b[i]=‘w‘;
}
else
{
b[i]=‘b‘;
}
for(int j=0;j<4;j++)
{
if(i+d[j]>=0&&i+d[j]<16)
{
if(b[i+d[j]]==‘w‘)
{
b[i+d[j]]=‘b‘;
}
else
{
b[i+d[j]]=‘w‘;
}
}
}
}
} /* for(int i=0;i<16;i++)
{
printf("%c",b[i]);
}
printf("\n");*/
for(int i=0;i<16;i++)
{
if(b[0]==b[i])
flag=1;
else
{
flag=0;
break;
}
}
/*if(b[0]==b[1]==b[2]==b[3]==b[4]==b[5]==b[6]==b[7]==b[8]==b[9]==b[10]==b[11]==b[12]==b[13]==b[14]==b[15])
flag=1;*/
if(flag==1)
{
printf("!!");
for(int i=0;i<16;i++)
{ if(a[i]==1)
count++;
}
printf("%d ",count);
}
return ;
}
for(int i=0;i<2;i++)
{
a[step]=i;
dfs(step+1);
}
}
int main()
{ freopen("input.txt","r",stdin);
for(int i=0;i<16;i++)
{
scanf("%c",&data[i]);
}
for(int i=0;i<16;i++)
{
b[i]=data[i];
}
dfs(0);
}
标签:sharp step print data min ipa char stdin turn
原文地址:http://www.cnblogs.com/dahuacarry/p/6249606.html