博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
POJ 1222 EXTENDED LIGHTS OUT熄灯游戏
阅读量:4187 次
发布时间:2019-05-26

本文共 1167 字,大约阅读时间需要 3 分钟。

题目链接

主要思想是枚举第一行的元素,其余元素是确定的。
AC代码

#include
using namespace std;int puzzle[6][8], press[6][8];bool guess() { for (int r = 1; r<5; r++) for (int c = 1; c<7; c++) press[r + 1][c] = (puzzle[r][c] + press[r][c] + press[r][c - 1] + press[r][c + 1]+press[r-1][c]) % 2; for (int c = 1; c<7; c++) if ((press[5][c - 1] + press[5][c] + press[5][c + 1] + press[4][c]) % 2 != puzzle[5][c]) return false; return true;}void enumerate() { int c; for ( c = 1; c<7; c++) press[1][c] = 0; while (guess() == false) { press[1][1]++; c = 1; while (press[1][c]>1) { press[1][c] = 0; c++; press[1][c]++; } } return;}int main(){ for (int i = 0; i<6; i++) press[i][0] = press[i][7] = 0; for (int i = 1; i<7; i++) press[0][i] = 0; int cases; cin >> cases; for (int i = 0; i
> puzzle[r][c]; enumerate(); cout << "PUZZLE #" << i + 1 << endl; for (int r = 1; r<6; r++) { for (int c = 1; c<7; c++) cout << press[r][c] << " "; cout << endl; } } return 0;}

转载地址:http://qvdoi.baihongyu.com/

你可能感兴趣的文章