time limit per test

2 seconds

memory limit per test

256 megabytes

input

standard input

output

standard output

Lenny is playing a game on a 3 × 3 grid of lights. In the beginning of the game all lights are switched on. Pressing any of the lights will toggle it and all side-adjacent
lights. The goal of the game is to switch all the lights off. We consider the toggling as follows: if the light was switched on then it will be switched off, if it was switched off then it will be switched on.

Lenny has spent some time playing with the grid and by now he has pressed each light a certain number of times. Given the number of times each light is pressed, you have to print the current state of each light.

Input

The input consists of three rows. Each row contains three integers each between 0 to 100 inclusive. The j-th number in the i-th
row is the number of times the j-th light of the i-th
row of the grid is pressed.

Output

Print three lines, each containing three characters. The j-th character of the i-th
line is "1" if and only if the corresponding light is switched on, otherwise it's "0".

Sample test(s)
input
1 0 0
0 0 0
0 0 1
output
001
010
100
input
1 0 1
8 8 8
2 0 3
output
010
011
100

题目大意:现有3*3个开关。初始全为开着。

切换(开变成关。关变成开)每一个开关的时候,与它直接相邻的四个方向上的开关也会切换,给出每一个开关的切换次数。问最后各个开关的状态。

解题思路:我们仅仅须要推断每一个开关到最后总共被切换了多少次,直接推断次数的奇偶就可以推断某个开关最后的状态。

直接遍历每一个开关。可是假设直接在原来的开关次数上加,会影响对后来的计算。所以,我们开了两个数组,A[][]和B[][],A是输入的每一个开关的切换次数,B是最后每一个开关切换的总次数。最后在扫一遍B就可以。若B[i][j]是奇数,则状态为0(关),否则状态为1(开)。

AC代码:

#include <stdio.h>
#include <string.h>
#include <iostream>
#include <algorithm>
#include <vector>
#include <queue>
#include <set>
#include <map>
#include <string>
#include <math.h>
#include <stdlib.h>
#include <time.h>
using namespace std;
#define INF 0x7fffffff int a[4][4], b[4][4]; int main()
{
#ifdef sxk
freopen("in.txt","r",stdin);
#endif
int n;
for(int i=0; i<3; i++)
for(int j=0; j<3; j++)
scanf("%d", &a[i][j]);
memset(b,0,sizeof(b));
for(int i=0; i<3; i++)
for(int j=0; j<3; j++){
if(a[i][j]){
b[i][j] += a[i][j];
if(i > 0) b[i-1][j] += a[i][j];
if(i < 2) b[i+1][j] += a[i][j];
if(j > 0) b[i][j-1] += a[i][j];
if(j < 2) b[i][j+1] += a[i][j];
}
}
for(int i=0; i<3; i++){
for(int j=0; j<3; j++){
printf("%d", b[i][j]&1^1);
}
printf("\n");
}
return 0;
}

Codeforces Round #168 (Div. 2)---A. Lights Out的更多相关文章

  1. Codeforces Round #168 (Div. 2)

    A. Lights Out 模拟. B. Convex Shape 考虑每个黑色格子作为起点,拐弯次数为0的格子构成十字形,拐弯1次的则是从这些格子出发直走达到的点,显然需要遍历到所有黑色黑色格子. ...

  2. Codeforces Round #168 (Div. 1 + Div. 2)

    A. Lights Out 模拟. B. Convex Shape 考虑每个黑色格子作为起点,拐弯次数为0的格子构成十字形,拐弯1次的则是从这些格子出发直走达到的点,显然需要遍历到所有黑色黑色格子. ...

  3. Codeforces Round #366 (Div. 2) ABC

    Codeforces Round #366 (Div. 2) A I hate that I love that I hate it水题 #I hate that I love that I hate ...

  4. Codeforces Round #354 (Div. 2) ABCD

    Codeforces Round #354 (Div. 2) Problems     # Name     A Nicholas and Permutation standard input/out ...

  5. Codeforces Round #368 (Div. 2)

    直达–>Codeforces Round #368 (Div. 2) A Brain’s Photos 给你一个NxM的矩阵,一个字母代表一种颜色,如果有”C”,”M”,”Y”三种中任意一种就输 ...

  6. cf之路,1,Codeforces Round #345 (Div. 2)

     cf之路,1,Codeforces Round #345 (Div. 2) ps:昨天第一次参加cf比赛,比赛之前为了熟悉下cf比赛题目的难度.所以做了round#345连试试水的深浅.....   ...

  7. Codeforces Round #279 (Div. 2) ABCDE

    Codeforces Round #279 (Div. 2) 做得我都变绿了! Problems     # Name     A Team Olympiad standard input/outpu ...

  8. Codeforces Round #262 (Div. 2) 1003

    Codeforces Round #262 (Div. 2) 1003 C. Present time limit per test 2 seconds memory limit per test 2 ...

  9. Codeforces Round #262 (Div. 2) 1004

    Codeforces Round #262 (Div. 2) 1004 D. Little Victor and Set time limit per test 1 second memory lim ...

随机推荐

  1. Epos消费管理系统复制迁移SQL SERVER 2005数据库

    先脱机 原来要关闭Epos消费管理系统软件才可以让对应的数据库脱机

  2. [Pulgin] jQuery插件之ajaxFileUpload

    一.ajaxFileUpload是一个异步上传文件的jQuery插件. 传一个不知道什么版本的上来,以后不用到处找了. 语法:$.ajaxFileUpload([options]) options参数 ...

  3. 多个submit

    <html><body> <form action="welcome.php" method="post">Name: &l ...

  4. BZOJ 1196 二分+Kruskal

    思路: 二分答案 判一下能不能加 //By SirisuRen #include <cstdio> #include <cstring> #include <algori ...

  5. 代码实现wordpress彩色标签云的最简单的方法

    首先在wordpress主题文件夹内找到并用编辑器打开 functions.php 文件,随意找个位置不到插到别的函数里,“?>” 之前加入以下代码: //彩色标签云 function colo ...

  6. Paint、Canvas.1

    Canvas 方法详解 1:translate(float dx, float dy) /**** 移动canvas的原点到(dx,dy),默认为(0,0) */ public void transl ...

  7. Qt与OpenCV结合:图像显示

    参考链接: http://www.cnblogs.com/emouse/archive/2013/03/29/2988717.html 注意:为了防止min max 问题,要把opencv的包含放在包 ...

  8. Dynamics 365 CRM 部署 Connected Field Service

    微软 Connected Field Service 是一个提供Azure IoT 和 Dynamics 365 连接的这样一个框架 有两种方式部署CFS, 一种是用IoT Hub PaaS, 一种是 ...

  9. vc++如何创建窗口

    创建一个mfc工程,AppWizard可以用来增加和选择一些特性 可以发现一共有五个类,每一个类都有一个基类,都是mfc基础类库中的类 例如将一个类拷贝一下,将CFrameWnd到msdn中查找一下, ...

  10. day22 包,相对/绝对路径

    目录 包 包被导入时发生的三件事 为什么要有包 相对路径 绝对路径 包 包是一个文件夹,也是一个模块,只是为了区分单个文件的模块,称之为包.因为单纯的文件夹无法作为模块,文件夹内的__init__.p ...