DZY loves chessboard, and he enjoys playing with it.
He has a chessboard of n rows and m columns. Some cells of the chessboard are bad, others are good. For every good cell, DZY wants to put a chessman on it. Each chessman is either white or black. After putting all chessmen, DZY wants that no two chessmen with the same color are on two adjacent cells. Two cells are adjacent if and only if they share a common edge.
You task is to find any suitable placement of chessmen on the given chessboard.
The first line contains two space-separated integers n and m (1 ≤ n, m ≤ 100).
Each of the next n lines contains a string of m characters: the j-th character of the i-th string is either "." or "-". A "." means that the corresponding cell (in the i-th row and the j-th column) is good, while a "-" means it is bad.
Output must contain n lines, each line must contain a string of m characters. The j-th character of the i-th string should be either "W", "B" or "-". Character "W" means the chessman on the cell is white, "B" means it is black, "-" means the cell is a bad cell.
If multiple answers exist, print any of them. It is guaranteed that at least one answer exists.
1 1 .
B
2 2 .. ..
BW WB
3 3 .-. --- --.
B-B --- --B
In the first sample, DZY puts a single black chessman. Of course putting a white one is also OK.
In the second sample, all 4 cells are good. No two same chessmen share an edge in the sample output.
In the third sample, no good cells are adjacent. So you can just put 3 chessmen, no matter what their colors are.
题意:
给出 n,m(1 ~ 150),代表有一个 N X M 的棋盘,- 代表这个地方不能填棋子,. 代表可以填充棋子。填充 W 和 B 两种棋子,任意相邻位置不能是相同的,输出这个棋盘的填充情况。
思路:
杂题。相间填充黑白棋是一定不会相邻的,有 - 的区别就是 - 就不显示这个位置的棋子而已。所以任意一个棋盘一定会存在两种解,不可能不存在的。一开始就读错题意了。最近智商有点降低。最后判断 (i + j )是否整除 2 来输出答案就好了。
AC:
#include <cstdio> #include <cstring> #include <algorithm> using namespace std; char Map[105][105]; int main() { memset(Map, 0, sizeof(Map)); int n, m; scanf("%d%d", &n, &m); for (int i = 1; i <= n; ++i) { for (int j = 1; j <= m; ++j) { scanf(" %c", &Map[i][j]); if (Map[i][j] == '.') { if ((i + j) % 2) Map[i][j] = 'B'; else Map[i][j] = 'W'; } } } for (int i = 1; i <= n; ++i) { for (int j = 1; j <= m; ++j) { printf("%c", Map[i][j]); } printf("\n"); } return 0; }
相关推荐
动力源DZY-4850H整流器维修指导书,详细讲解了 动力源DZY4850H通讯电源的原理及维修指导,并提供了详细的原理图及电路 图,是非常好的维修指南
DZY100/30S煤矿用带式转载机的设计和选型分析,涉及了煤矿机械领域中的带式转载机的设计,制造和安装等环节。本文将围绕该设备的结构设计与强度分析展开详细解析。 首先,设计选型环节包括对上下千斤顶的设计计算。...
python程序设计-dzy
介绍了一种煤巷高效快速掘进的DZY100/160/50型矿用带式转载机用制动系统的功能和结构特点,并根据该矿用带式转载机在煤巷高效快速掘进系统中的实际使用工况,确定了制动器的总体结构、制动扭矩以及安装方式等,在此基础...
DZY.exe
Python程序设计-dzy 自做
Python程序设计-dzy 模拟题
Python程序设计模拟题-dzy
"DZY_低通滤波器_对加噪语音信号进行时域、频域分析和滤波_"这一主题涵盖了数字信号处理中的关键概念,包括信号滤波、时域分析和频域分析。通过分析提供的文件"DZY.m",我们可以推测这是一个MATLAB脚本,用于实现...
DZY100/80/30S是煤矿充填面工作中可自移带式转载运输设备,根据煤矿充填工作要求对该带式转载机的输送带、托辊、电滚筒的选取及传动滚筒驱动力、输送带张力、拉紧力、拉紧行程等的确定进行了详细的分析和计算。
### Qt学习之路:核心知识点概览 #### 一、前言 - **Qt简介**:Qt是一个跨平台的C++图形用户界面应用程序开发框架。它不仅支持Windows、macOS、Linux等主流操作系统,还能用于开发嵌入式系统、移动设备应用(如...
Python程序设计课件
针对目前充填工作面配套使用的带式转载机移动频繁...通过对DZY100/30S带式转载机的结构布置和设计中关键问题进行综合分析,介绍该设备主要技术参数和性能特点。实现充采均衡协调发展,为我国充填开采提供理想的配套设备。
端子排中间继电器用途、技术参数、外形及安装尺寸图。
【图文混排技术详解】 图文混排是一种在文档或演示文稿中巧妙地结合文字、图像和其他元素的设计技巧,常用于制作宣传板报、报告、海报等。在本课中,我们将聚焦于如何使用计算机应用基础中的图文混排功能,以制作...
电源电路图看似复杂,很多新手在入门阶段就被电路图难住了,阅读电路图成为了非常困难的一件事。但实际上只要找到规律,阅读电路图并不是一件困难的事情。电路图由不同的电路结构组成,只要掌握了这些电路就能轻易地...
基于arm实现的密码锁。实现密码的预设定,解码功能。
有天,吉丽拿着一道物理题目去问DZY,DZY很快就秒了这题,但是懒得算了,就让你来解决它。 题目描述 现在水平面上有一条无限长的光滑轨道,上面有n个小球(体积忽略),每个小球的质量都相同。现在这些小球在某些神奇...
UserDaoImpl.java
【标题解析】:“空前规模减税降费红利兑现,亿万市场主体感受如何”指的是DZY国政府推出的大规模减税降费政策对亿万市场主体产生的实际效果和企业对此的反响。 【主要内容解析】: - 今年DZY国政府推出了近2万亿元...