- 杜昊阳 的博客
春季思维训练课次二
- @ 2025-3-19 21:01:55
错题1章节七
正确思路:遍历二位数组,遇到基数就变四周,偶数不变。
参考代码:
#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章节七
正确思路:找到每一列的第一个和最后一个黑白棋子。如果第一个白棋子在第一个黑棋子的上面,移到第一行;如果最后一个白棋子在最后黑棋子的下面,移到最后第一行。
参考代码:
错题3章节七
正确思路:依次处理每一列的石头:从下往上去枚举,并记录障碍物最后出现行,若遇石头会掉到上一行。
参考代码: