zoukankan      html  css  js  c++  java
  • codeforces445A

    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=0;
        bool f=0;
        char ch=' ';
        while(!isdigit(ch))
        {
            f|=(ch=='-'); ch=getchar();
        }
        while(isdigit(ch))
        {
            s=(s<<3)+(s<<1)+(ch^48); ch=getchar();
        }
        return (f)?(-s):(s);
    }
    #define R(x) x=read()
    inline void write(ll x)
    {
        if(x<0)
        {
            putchar('-'); x=-x;
        }
        if(x<10)
        {
            putchar(x+'0');    return;
        }
        write(x/10);
        putchar((x%10)+'0');
        return;
    }
    #define W(x) write(x),putchar(' ')
    #define Wl(x) write(x),putchar('
    ')
    const int N=105;
    int n,m;
    char Map[N];
    int main()
    {
        int i,j;
        R(n); R(m);
        for(i=1;i<=n;i++)
        {
            scanf("%s",Map+1);
            for(j=1;j<=m;j++)
            {
                if(Map[j]=='.')
                {
                    if((i+j)&1) putchar('W');
                    else putchar('B');
                }
                else putchar(Map[j]);
            }
            putchar('
    ');
        }
        return 0;
    }
    View Code
  • 相关阅读:
    数据分析必须掌握的统计学知识!
    数据分析常用指标大全,熟记!
    Java编程基础阶段笔记 day 07 面向对象编程(上)
    Java编程基础阶段笔记 day04 Java基础语法(下)
    Java编程基础阶段笔记 day06 二维数组
    Java编程基础阶段笔记 day05 数组
    Java编程基础阶段笔记 day04 Java基础语法(下)
    Java编程基础阶段笔记 day03 Java基本语法(中)
    啥?虚拟现实技术已经应用到自动化仓库? | 基于unity实现的自动化仓库模拟监控系统
    交互设计书单--西南交大课程推荐
  • 原文地址:https://www.cnblogs.com/gaojunonly1/p/10580526.html
Copyright © 2011-2022 走看看