您的位置:首页 > 其它

倒计时三天——1813:熄灯问题

2016-04-13 21:35 295 查看
代码:

#include<iostream>
#include<cstring>
#include<cstdlib>
#include<cstdio>
#include<cmath>
#include<algorithm>
using namespace std;
int an[10][10],de[10][10];
bool guess() {
int h,l;
for(h=2; h<=5; h++)
for(l=1; l<=6; l++)
an[h][l]=(de[h-1][l]+an[h-2][l]+an[h-1][l-1]+an[h-1][l]+an[h-1][l+1])%2;
for(l=1; l<=6; l++) {
if(an[5][l]!=(de[5][l]+an[5][l-1]+an[5][l+1]+an[4][l])%2)return false;
}
return true;
}
void cz() {
int l;
for(l=1; l<=6; l++)an[1][l]=0;
while(!guess()) {
an[1][1]++;
l=1;
while(an[1][l]>1) {
an[1][l++]=0;
an[1][l]++;
}
}
}
int main() {
int h,l;
for(h=1; h<=5; h++)
for(l=1; l<=6; l++)
scanf("%d",&de[h][l]);
cz();
for(h=1; h<=5; h++) {
printf("%d",an[h][1]);
for(l=2; l<=6; l++)printf(" %d",an[h][l]);
printf("\n");
}
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: