欢乐赛#37T6
2025-01-06 13:26:09
发布于:北京
21阅读
0回复
0点赞
首先读取输入,将每个灯被按下的次数存储在一个二维数组 b 中。所有灯初始状态为开启(即 a[i][j] = 1)。对于每个灯,根据其被按下的次数进行状态切换。每次按下一个灯,该灯及其上下左右相邻的灯都会切换状态。最后输出每个灯的最终状态
#include <bits/stdc++.h>
using namespace std;
bool a[5][5];
int b[5][5];
int main(){
for (int i = 1;i <= 3;i++){
for (int j = 1;j <= 3;j++){
cin >> b[i][j];
}
}
for (int i = 1;i <= 3;i++){
for (int j = 1;j <= 3;j++){
a[i][j] = 1;
}
}
for (int i = 1;i <= 3;i++){
for (int j = 1;j <= 3;j++){
while(b[i][j]--){
a[i][j] = !a[i][j];
a[i + 1][j] = !a[i + 1][j];
a[i - 1][j] = !a[i - 1][j];
a[i][j + 1] = !a[i][j + 1];
a[i][j - 1] = !a[i][j - 1];
}
}
}
for (int i = 1;i <= 3;i++){
for (int j = 1;j <= 3;j++){
cout << a[i][j];
}
cout << endl;
}
return 0;
}
这里空空如也
有帮助,赞一个