错题1章节七 T031T031

正确思路:遍历二位数组,遇到基数就变四周,偶数不变。

参考代码:

#include<bits/stdc++.h>
using namespace std;
bool x[5][5];
void c(int a,int b){
	x[a][b]^=1;
	x[a+1][b]^=1;
	x[a-1][b]^=1;
	x[a][b+1]^=1;
	x[a][b-1]^=1;
}
int main(){
	int s[9];
	for(int i=0;i<9;i++){
		cin>>s[i];
		if(s[i]%2==1){
			c(i/3+1,i%3+1);
		}
	}
	for(int i=1;i<=3;i++){
		for(int j=1;j<=3;j++){
			cout<<!x[i][j];
		}
		cout<<endl;
	}
}

错题2章节七 T044T044

正确思路:找到每一列的第一个和最后一个黑白棋子。如果第一个白棋子在第一个黑棋子的上面,移到第一行;如果最后一个白棋子在最后黑棋子的下面,移到最后第一行。

参考代码:

错题3章节七 T071T071

正确思路:依次处理每一列的石头:从下往上去枚举,并记录障碍物最后出现行,若遇石头会掉到上一行。

参考代码: