zoukankan      html  css  js  c++  java
  • 风暴尖叫者

    就像是你可能是早年(这个实在翻译的有点诡异,百度上没有fifirst,就这样翻译了

    一下)在学校中时你可能记得的那样,人类大约在至少7000年之前就发明了啤酒酿造工

    艺。那几次一定是重要的?(我还是译意一下吧)啤酒总量的减少从那几次重要的消耗

    和每年消耗的比例在未来千年内仍然并没有见减小的趋势。


    为了庆祝这个事实(难道是我翻译错了?你庆祝个毛啊?),我们邀请你设计一个游

    戏,看似与啤酒的发酵无关。这是非常有可能的,当然,在你成功地执行之后你可能

    会觉得有点头大,就像你平常就喝多了一样。


    这个游戏是在一个M*N的由不同型号的正方形瓷砖(也可能是地毯,棋子)矩形上玩

    的。


    游戏机制和动物行为

    1. 所有的动物都只能在方格上面移动。

      每一头狼都只能向右侧相邻的一个方格移动,如果移动不合法(也就是说移动到头

      了),则下次移动返回至本行最左侧方格(应该是翻译成行,他不可能是列)。

      每一只羊都只能向下方相邻的一个方格移动,如果移动不合法,则下次移动到本列

      最上方方格(他那个诡异的翻译写的是柱,应该是为了和行区分)。

    2. 如果一头狼和一头羊同时移动到了同一个方格上,那么狼会吃掉羊,并且其所在

      方格会转变成为有动物尸体的土壤。

    3. 如果一只羊抵达一个长草的土地,那么羊会吃掉草,土地从长草的土地转变成正

      常土地。

    4. 如果一匹狼在10轮操作中没有吃到羊,那么狼会饿死,其所在土地转化为有动物

      尸体的土地(目测就是说如果一匹狼在距离上次吃到羊第十轮操作后仍然没有

      吃到羊,那么不移动,直接将所在土地进行转化)。

    5. 如果一头羊在5轮操作中没有吃到草,那么羊会饿死,其所在土地转化为有动物

      尸体的土地。

    土地的类型以及转化

    一共有三种的土地类型,在游戏进行过程当中,土地的类型是可能发生改变的。

    1. 正常的土地:在游戏开始后的三轮或土地变成正常的土地后三轮,正常的土地会变为草地(长草)。

    2. 草地:如果草被羊吃了,那么草地立刻转化为正常的土地,三轮之后重新转化成草地。

    3. 有动物尸体的土地:无论何时有动物死在任何类型土地上(也就意味着动物死过的土地类型也可以,但土地类型并不会改变,也就是一个土地可以重复死动物),该土地变为有动物尸体的土地。动物依然可以通过有动物尸体的土地,但是该土地永远不会长草(即此类型转化不可逆)。随着游戏的进行,有动物尸体的土地可能越来越多。

    输入

    第一行输入包含三个整数:T,N和M。( 1 ≤ T ≤ 100, 1 ≤ M, N ≤ 20),T代表总轮数,M和N分别代表方格的行和列。接下来的M行每行包含N个字符。

    ‘.‘表示正常的土地。

    ‘S‘表示有一只羊在上面。

    ’W’表示有一只狼在上面。

    (不包含‘ ’)。

    输出

    输出M行,每行N个字符表示T轮过后的土地。如果有动物在土地上,输出它:

    ‘W’代表一匹狼。

    ‘S’代表一只羊。

    否则,输出正常的土地:

    ‘.‘代表正常的土地。

    ’#‘代表草地。

    ‘*’代表有动物尸体的土地。

    (不包含‘ ’)。

    样例输入1

    6 6 5
    ..S..
    .....
    .S...
    .....
    ....W
    .S...
    

    样例输出1

    ##S##
    #####
    #####
    #.###
    W*.##
    #S.##
    

    样例输入2

    14 3 3
    S..
    W..
    ...
    

    样例输出2

    .##
    #*#
    S##
    

    样例输入3

    2 3 1
    S
    .
    .
    

    样例输出3

    .
    .
    S
    

    题目转载自Screamers in the Storm

    翻译:Luo_Feng_Han

    很久之前的一道题,当时没找到翻译,一直存在洛谷的博客上,现在转到博客园。

  • 相关阅读:
    leetcode-Rotate Image
    leetcode- Rotate Array
    leetcode- Remove Element
    项目小结
    java到底有哪些重要知识点???
    js学习笔记 -- await/ async
    js学习笔记 -- Promise
    js学习笔记 -- 函数
    js学习笔记 -- 随记
    4、栈的实现:顺序存储和链式存储
  • 原文地址:https://www.cnblogs.com/JingFenHuanZhe/p/FengBaoJianJiaoZhe0923.html
Copyright © 2011-2022 走看看