CodeFoeces-275A

题目

原题链接: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;
}

你可能感兴趣的:(CodeFoeces-275A)