poj1753改

#include<iostream>
char data[16];
int a[16];
int d[5]={0,-4,1,4,-1}; char b[16]; int flag; int count; int min=1000; void dfs(int step) {
if(step==16)
{ for(int i=0;i<16;i++)
b[i]=data[i]; count=0;
for(int i=0;i<16;i++)
{
if(a[i]==1)
{
int t;
count++;
if(count>min)
return;
for(int k=0;k<5;k++)
{
t=i+d[k];
if(t>=0&&t<16)
{
if(b[t]=='b')
b[t]='w';
else
b[t]='b';
}
}
}
}
for(int i=1;i<16;i++)
{
if(b[i]==b[0])
flag=1;
else
{
flag=0;
break;
}
}
if(flag==1)
{
if(min>count)
{
min=count;
printf("%d",min);
}
}
return ;
} for(int i=0;i<2;i++)
{
a[step]=i;
dfs(step+1);
} } int main() {
freopen("in.txt","r",stdin); for(int i=0;i<16;i++)
{
scanf("%c",&data[i]);
} dfs(0);
}
上一篇:poj 2063 Investmen 完全背包


下一篇:Javascript Error: 11233 Content-Length mismatch