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