📄 2811.cpp
字号:
#include<iostream>
using namespace std;
int b[7][8],a[7][8],t;
bool g()
{
int i,j;
for (i=1;i<=4;i++)
for (j=1;j<=6;j++)
b[i+1][j]=(a[i][j]+b[i][j]+b[i][j-1]+b[i][j+1]+b[i-1][j])%2;
for (i=1;i<7;i++)
if (a[5][i]!=(b[5][i]+b[5][i-1]+b[5][i+1]+b[4][i])%2)
return (false);
return (true);
}
void f(int d)
{
int i;
for (i=0;i<=1;i++)
{
if (t==1)
return;
b[1][d]=i;
if (d==6)
{
if (g()==true)
{
t=1;
return;
}
}
if (d<6)
f(d+1);
}
}
void main()
{
int n,i,j,k;
cin>>n;
for (k=1;k<=n;k++)
{
for (i=0;i<7;i++)
{
for (j=0;j<8;j++)
{
a[i][j]=0;
b[i][j]=0;
}
}
for (i=1;i<6;i++)
for (j=1;j<7;j++)
cin>>a[i][j];
cout<<"PUZZLE #"<<k<<endl;
t=0;
f(1);
for (i=1;i<6;i++)
{
for (j=1;j<=5;j++)
cout<<b[i][j]<<" ";
cout<<b[i][6];
cout<<endl;
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -