题目
原题链接:A. Lights Out
题意
一个3*3的灯泡阵默认开启,每个灯有一个开关,会影响自身和附近四个的灯的状态。给出每个灯的切换开关次数,问最后的状态。
代码
#include
using namespace std;
int mp[5][5],mov[4][2]= {0,1,0,-1,1,0,-1,0};
void press(int x,int y,int t) {
if(t%2!=0) mp[x][y]=!mp[x][y];
for(int i=0; i<4; i++) {
int tx=x+mov[i][0],ty=y+mov[i][1];
if(t%2!=0) mp[tx][ty]=!mp[tx][ty];
}
}
int main() {
int t;
for(int i=1; i<=3; i++) {
for(int j=1; j<=3; j++) {
mp[i][j]=1;
}
}
for(int i=1; i<=3; i++) {
for(int j=1; j<=3; j++) {
cin>>t;
press(i,j,t);
}
}
for(int i=1; i<=3; i++) {
for(int j=1; j<=3; j++) {
printf("%d",mp[i][j]);
}
printf("\n");
}
return 0;
}