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

📄 3695135_wa.cc

📁 POJ 1222己AC源代码
💻 CC
字号:
#include <iostream>
#include <bitset>
using namespace std;

int n, a[7][8], b[7][8], result[7][8];
inline void change(int a[7][8], int i, int j)
{
	if(a[i][j]==0) a[i][j]=1; else a[i][j]=0;
	if(a[i-1][j]==0) a[i-1][j]=1; else a[i-1][j]=0;
	if(a[i+1][j]==0) a[i+1][j]=1; else a[i+1][j]=0;
	if(a[i][j-1]==0) a[i][j-1]=1; else a[i][j-1]=0;
	if(a[i][j+1]==0) a[i][j+1]=1; else a[i][j+1]=0;
}
int main()
{
	scanf("%d", &n);

	int ca=1;
	while(n--)
	{
		for(int i=1; i<6; i++)
			for(int j=1; j<7; j++)
				scanf("%d", &a[i][j]);
		
		for(int i=0; i<32; i++)
		{
			bitset<6> bt(i);
			for(int s=1; s<6; s++)
				for(int t=1; t<7; t++)
				{
					b[s][t]=a[s][t];
					result[s][t]=0;
				}
			for(int s=0; s<6; s++)
				if(bt.test(s))
				{
					change(b, 1, s+1);
					result[1][s+1]=1;
				}
			for(int s=2; s<6; s++)
				for(int t=1; t<7; t++)
					if(b[s-1][t]==1)
					{
						change(b, s, t);
						result[s][t]=1;
						
					}
			bool flag=true;
			for(int s=1; s<7; s++)
				if(b[5][s]==1)
					flag=false;
			if(flag)
				break;
		}
		printf("PUZZLE #%d\n", ca++);
		for(int i=1; i<6; i++)
		{
			for(int j=1; j<7; j++)
				printf("%d ", result[i][j]);
			printf("\n");
		}
		
	}
	return 0;
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -