⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 2811.cpp

📁 非常好的C++学习源码,里面包括各种算法的实现,二叉的的前中后序遍历等
💻 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 + -