DZY Loves Chessboard

CodeForces - 445A

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的更多相关文章

  1. CodeForces445A DZY Loves Chessboard

    A. DZY Loves Chessboard time limit per test 1 second memory limit per test 256 megabytes input stand ...

  2. (CF)Codeforces445A DZY Loves Chessboard(纯实现题)

    转载请注明出处:http://blog.csdn.net/u012860063? viewmode=contents 题目链接:http://codeforces.com/problemset/pro ...

随机推荐

  1. JVM实践

    package com.lsw.classloader; import java.io.FileInputStream;import java.lang.reflect.Field;import ja ...

  2. javascript-mqtt

    js client使用paho-mqtt,官网地址:http://www.eclipse.org/paho/,参考http://www.eclipse.org/paho/clients/js/官网给出 ...

  3. BP浅谈

    之前一直对BP的理解不透彻,这可不行,这个可是超经典的广泛应用在ML中的求偏导的方法.本博来自<神经网络与机器学习>P86页. 在用到bp的地方我们都是为了使用梯度下降法,并求出他的偏导数 ...

  4. 微信小程序开发需要注意的30个坑

    1.小程序名称可以由中文.数字.英文.长度在3-20个字符之间,一个中文字等于2个字符. 2.小程序名称不得与公众平台已有的订阅号.服务号重复.如提示重名,请更换名称进行设置. 3.小程序名称在帐号信 ...

  5. nginx 安装问题

    yum -y install  xxx pcre-devel  openssl-devel   zlib-devel  这个三个包需要 有时候,我们需要单独安装nginx,来处理大量的下载请求.单独在 ...

  6. Hogp连接流程分析

    当BLE设备已经完成配对,并且完成GATT服务的搜索,下一步就开始profile 的连接流程了,一般LE设备都是走的HOGP的流程,我们这篇文章就分析一下hogp的连接流程. 连接是从framewor ...

  7. REST-framework快速构建API--源码解析

    一.APIView 通过APIView实现API的过程如下: urls.py url(r'^books/$', views.BookView.as_view(),name="books&qu ...

  8. 从源码的角度再看 React JS 中的 setState

    在这一篇文章中,我们从源码的角度再次理解下 setState 的更新机制,供深入研究学习之用. 在上一篇手记「深入理解 React JS 中的 setState」中,我们简单地理解了 React 中 ...

  9. D. Cutting Out

    ---恢复内容开始--- 链接 [https://codeforces.com/contest/1077/problem/D] 题意 给你n,k,n个数,找出长度为k,的子串(不需连续),使得该子串数 ...

  10. NEWBE CRALWER 产品需求文档

    1.产品概述 本产品是学霸软件系统的爬虫部分,由NEWBE团队负责.主要任务是从网上爬取出相关数据后提供给C705组使用. 2.产品的发展经历 2.1 产品的发展经历 本产品从2014.10.29开始 ...