题意:poj的奶牛又开始作孽了,这回他一跺脚就会让上下左右的砖块翻转(1->0 || 0->1),问你最少踩哪些砖块才能让初始的砖块全部变成0,要输出踩砖块位置。
思路:也不知道为什么归类在搜索里,问了大牛,枚举第一行的情况(1<
#include#include using namespace std;int N,M;int maps[100][100];int dx[]={ 1,-1,0,0,0};int dy[]={ 0,0,-1,1,0};int ans[100][100];int flips[100][100];int r;int color(int x,int y){ //判断当前砖块是什么颜色 int c = maps[x][y]; for(int i=0;i<5;i++){ int x1 = x+dx[i]; int y1 = y+dy[i]; if(x1 =0&&y1>=0) c+=flips[x1][y1]; } return c%2;}int canl(){ int res = 0; for(int i=1;i >j&1; } int num = canl(); if(num >=0 && (r<0||num