codeforces445A
DZY Loves Chessboard
DZY 喜欢棋盘,他很享受棋盘上的游戏。
他有一个 n 行和 m 列的棋盘。棋盘上的某些单元格是坏的位置,其他的是好的位置。对于每个好位置的单元格,DZY 希望在上面放一枚棋子。每枚棋子要么是白色的,要么是黑色的。在放置了所有的棋子之后,DZY 不希望两枚同色的棋子被放置于两个相邻的单元格上。如果两个单元格共享了一条公共边,则它们是相邻的。
您的任务是,在给定的棋盘上,找出任意一种适当的棋子放置方式。
输入
第一行包含了两个以空格分隔的整数 n 和 m (1 ≤ n, m ≤ 100)。
接下来的 n 行中,每行包含了一个字符串 (有 m 个字符):第 i 个字符串的第 j 个字符,要么是 ".",要么是 "-"。一个 "." 表示相应的单元格 (位于第 i 行,第 j 列) 是好的位置,而一个 "-" 表示是坏的位置。
输出
输出必须包含 n 行,每行必须包含一个字符串 (有 m 个字符)。第 i 个字符串的第 j 个字符,应当要么是 "W", "B" 要么是 "-"。字符 "W" 是指单元格上的棋子为白色,"B" 是指黑色,"-" 是指单元格是坏的位置。
如果存在多个答案,则打印它们中的任意一个。数据保证:至少存在一个答案。
示例
1 1
.
B
2 2
..
..
BW
WB
3 3
.-.
---
--.
B-B
---
--B
备注
在第一个示例中,DZY 放置了单个的黑色棋子。当然,放置一个白色棋子也是可以的。
在第二个示例中,全部 4 个单元格是好的位置。在示例输出中,不存在两个相同的棋子共享一条边。
在第三个示例中,不存在好位置的单元格相邻。因此,您可以只放置 3 枚棋子,无论它们的颜色如何。
sol:对于要放棋子的位置(x,y)如果x+y是奇数放W,否则放B
#include <bits/stdc++.h>
using namespace std;
typedef int ll;
inline ll read()
{
ll s=;
bool f=;
char ch=' ';
while(!isdigit(ch))
{
f|=(ch=='-'); ch=getchar();
}
while(isdigit(ch))
{
s=(s<<)+(s<<)+(ch^); ch=getchar();
}
return (f)?(-s):(s);
}
#define R(x) x=read()
inline void write(ll x)
{
if(x<)
{
putchar('-'); x=-x;
}
if(x<)
{
putchar(x+''); return;
}
write(x/);
putchar((x%)+'');
return;
}
#define W(x) write(x),putchar(' ')
#define Wl(x) write(x),putchar('\n')
const int N=;
int n,m;
char Map[N];
int main()
{
int i,j;
R(n); R(m);
for(i=;i<=n;i++)
{
scanf("%s",Map+);
for(j=;j<=m;j++)
{
if(Map[j]=='.')
{
if((i+j)&) putchar('W');
else putchar('B');
}
else putchar(Map[j]);
}
putchar('\n');
}
return ;
}
codeforces445A的更多相关文章
- CodeForces445A DZY Loves Chessboard
A. DZY Loves Chessboard time limit per test 1 second memory limit per test 256 megabytes input stand ...
- (CF)Codeforces445A DZY Loves Chessboard(纯实现题)
转载请注明出处:http://blog.csdn.net/u012860063? viewmode=contents 题目链接:http://codeforces.com/problemset/pro ...
随机推荐
- docker容器启动设置固定IP
docker安装以后的网络类型 [root@insure updev]# docker network ls NETWORK ID NAME DRIVER SCOPE 14da40175b01 bri ...
- Android学习之基础知识三(Android日志工具Log的使用)
Android中的日志工具Log(android.util.Log): 1.打印日志的方法(按级别从低到高排序): Log.v():级别verbose,用于打印最为烦琐,意义最小的日志 Log.d() ...
- node 命令行升级版本
node有一个模块叫n(这名字可够短的...),是专门用来管理node.js的版本的. 1. 首先安装n模块: npm install -g n 2. 升级node.js到最新稳定版 n stable ...
- 洛谷 P1525 关押罪犯
题目链接 https://www.luogu.org/problemnew/show/P1525 题目描述 S城现有两座监狱,一共关押着N名罪犯,编号分别为1−N.他们之间的关系自然也极不和谐.很多罪 ...
- 一篇文章让你彻底掌握 shell 语言
一篇文章让你彻底掌握 shell 语言 由于 bash 是 Linux 标准默认的 shell 解释器,可以说 bash 是 shell 编程的基础. 本文主要介绍 bash 的语法,对于 linux ...
- Luogu2045 方格取数加强版(K取方格数) 费用流
题目传送门 题意:给出一个$N \times N$的方格,每个格子中有一个数字.你可以取$K$次数,每次取数从左上角的方格开始,每一次只能向右或向下走一格,走到右下角结束,沿路的方格中的数字将会被取出 ...
- Luogu3524 POI2011 Party 图论、构造
题目传送门:https://www.luogu.org/problemnew/show/P3524 大意:给一个$N$个点的图,其中一定有一个大小为$\frac{2}{3}N$的团,程序需给出一个大小 ...
- java 基础02 打包package
- 面试3——java集合类总结(List)
1.集合类 数组:可以存储对象,也可以存储基本数据类型,但是一次只能存储一种类型,且长度一定,不可改变. 集合:只能存储对象,长度可变,可以存储不同类型的对象.Java集合类主要有三种:set,lis ...
- bash:express:command not found
重新设置了node_global和node_cache目录后,总是显示command not found 找了几篇博文后,终于解决了这个问题 步骤如下: 1.新建node_global和node_ ...