zoukankan      html  css  js  c++  java
  • 笨笨工作室告别十月模拟赛

    笨笨工作室告别十月模拟赛

    为了大家适应今年复赛电子版题目特意整理了一份电子版题目:

    /Files/hhdllhflower/笨笨工作室告别十月模拟赛.rar

    Chess

    Background

      笨笨:“来下棋吧~~

      路人甲:“什么棋?”

    笨笨:“跳棋”

    路人甲:“……”

    Description

     现在跳棋游戏开始:

        1、跳棋由黑白两种棋组成,棋盘为1*(n+m)的线状棋盘。(n为黑棋数量,m为白棋数量)

        2、刚开始黑棋在左边(用B表示),白棋在右边(用W表示),双方中间有一空格。

        3、每次只能走一个棋子,走棋方式只有移动和跳越两种:①移动:将棋子向旁边的空格移动。②跳跃:将棋子越过旁边的棋子抵达空格。

        4、当空格左边都是白棋,右边都是黑棋时游戏结束。

     下面是游戏进行的一个例子:

     黑棋:3   白棋:3

    STEP    0:BBB_WWW

    STEP    1:BB_BWWW

    STEP    2:BBWB_WW

    STEP    3:BBWBW_W

    STEP    4:BBW_WBW

    STEP    5:B_WBWBW

    STEP    6:_BWBWBW

    STEP    7:WB_BWBW

    STEP    8:WBWB_BW

    STEP    9:WBWBWB_

    STEP   10:WBWBW_B

    STEP   11:WBW_WBB

    STEP   12:W_WBWBB

    STEP   13:WW_BWBB

    STEP   14:WWWB_BB

    STEP   15:WWW_BBB

     现在你要做的是,给出一个最优走法,使得笨笨最快结束棋局。

    InputFormat

    输入唯独一行:n,m1<=n,m<=200)。

    OutputFormat

     输出有多行,为最少步数结束的棋局。

    格式如下:

    STEP-----:当前局势

    具体请见描述及样例。

    若有多解,输出字典序靠后的。

    若不明白WB_这三个字符的顺序的,请见注释 Hint

    SampleInput

    1 1

    SampleOutput

    STEP    0:B_W

    STEP    1:_BW

    STEP    2:WB_

    STEP    3:W_B

    TimeLimitation

    1s

    Hint.

     WB_的顺序是BW_,也就是说,棋局中_出现得越靠左越好。(可以选择无视这句话……)

    Source

     http://www.tuchuan.com/a/114935.gif

    Cross

    Background

       笨笨:“又这么多车……”

    路人甲:“你先过吧……”

    笨笨:“不会撞上吧?……”

    路人甲:“谁知道呢……”

    Description

     在笨笨上学的路上,必定要经过一条宽宽的马路……

     马路上有很多条道:快车道、慢车道、超车道、大型车道……每条道占一个单位宽度,每隔一段时间就会有一辆车从道上通过。

     现在,笨笨要过的马路宽n个单位长度(和宽度同为一个单位)。

     笨笨过马路每个单位时间只有3种动作:前进,止步,后退。

     为了确定是否应该为了不迟到直接瞬移到马路对面,笨笨想找你确认一下最少需要多少时间才能通过马路。

    InputFormat

     输入第一行一个数test(1<=test<=100),表示该测试点测试数据组数。

    每组测试数据格式如下:

    第一行为一个数n(1<=n<=1000),表示这条路的宽度。接下来一行为n个数,从出发点向终点,ai(1<=ai<=1000)表示第i条道每ai时间通过一辆车。

    OutputFormat

     对于每组数据:

    若能够通过马路,输出一个数,即最少过马路所需时间。

    若不能通过马路,输出一句话:You can't cross the road!

    SampleInput

    Input 1:

    1

    3

    2 4 3

    Input 2:

    1

    1

    1

    SampleOutput

    Output 1:

    5

    Output 2:

    You can't cross the road!

    TimeLimitation

    1s

    Hint

    【对于样例1的解释】

    0表示笨笨,-表示没有车,|表示有车,B表示起点,E表示终点}

    时刻00|||E   开始

    时刻1B0--E   前进

    时刻2B|0-E   前进

    时刻3B-0|E   止步

    时刻4B||0E   前进

    时刻5B---0   抵达

    【对于样例2的解释】

    时刻00|E

    时刻10|E

    时刻20|E

    时刻30|E

    ……

    所以笨笨是无法通过的……只好动用瞬移技能了……

    Source

    http://www.tuchuan.com/a/114935.gif

    Distance

    Background

    路人甲:“好远啊……”

    笨笨:“……”

    路人甲:“怎么不说话?”

    笨笨:“……”

    Description

     笨笨每天上学都要走很长的路……

     现在,笨笨在一个n*m的矩形城市上学。在这个矩形城市里,笨笨有许多的同学,他们上学所要行进的距离也会有所差异。

     假设一个同学他的家的各个位置离学校分别有3距离,2距离,1距离,则该同学距离学校为3距离。

     也就是说,某同学家到学校的距离为家里到离家最近的学校范围的最远距离。

     笨笨拥有学校及各个同学的家的平面图。

     现在,笨笨想知道,按距离从近到远排序,各个同学离学校有多远。

    InputFormat

    输入第一行三个整数n,m,l(1<=n<=100,1<=m<=100,1<=l<=200)

    接下来n行,每行m个字符,表示学校的平面图(#表示属于学校,.表示不属于学校)。

    再接下来是l组数据,表示各个同学各自的数据。

    每组数据分两部分:

    第一行一个字符串,表示该同学名字(长度不超过255)。接下来n行,每行m个字符,表示该同学家的平面图(表示方法同学校平面图)。

    OutputFormat

    输出l组数据,按同学距离学校的最远距离排序,当距离相等时按名字字典序排序。

    每组输出:

    第一行为该学生名字。

    第二行为该学生距离学校有多远(四舍五入保留5位小数)。

    SampleInput

    5 5 5

    ..##.

    ..###

    ...##

    .....

    .....

    maa00

    #....

    .....

    .....

    .....

    .....

    maa01

    ...##

    ...##

    .....

    .....

    .....

    maa02

    .....

    .....

    .....

    .....

    #....

    maa03

    .#...

    .#...

    .##..

    ..###

    .....

    maa04

    #....

    ##...

    ###..

    ####.

    #####

    SampleOutput

    maa01

    1.00000

    maa03

    1.41421

    maa00

    2.00000

    maa02

    3.60555

    maa04

    3.60555

    TimeLimitation

    1s

    Hint

    【对样例的解释】

    按远近排列解释:

    maa01

    家到学校距离为(15)至(14)或(25)。

    maa03

    家到学校距离为(32)至(23)或(43)至(34)。

    maa00

    家到学校距离为(11)至(13)。

    maa02

    家到学校距离为(51)至(23)或(34)。

    maa04

    家到学校距离为(51)至(23)或(34)。

    Source

    http://www.tuchuan.com/a/114935.gif

    Zoom

    Background

     笨笨:“放烟花啦~~

    路人甲:“……”

    笨笨:“不说了,准备开放~

    路人甲:“……”

    Description

        放烟花前,我们要做的是按烟花所组成的样式摆好发射筒。

     烟花是由c1,c2两种发射筒构成,c1作为背景,c2作为字点,它们所放出的图形是不同的。

     要放的烟花图案是由这两种图形构成的英语短语s(长度<=255)。

     /Files/hhdllhflower/笨笨工作室告别十月模拟赛-zoomSample.rar

     示例中所做的例子均使用一下定义:

     c1='.' c2='*' s='ABCDEFGHIJKLMNOPQRSTUVWXYZ'

     (你所要做的是将烟花短语按示例中的规律放大。)

     为了烟花取得更好的效果,现在我们要做的是,把烟花放大n倍(1<=n<=200),把所构成的图案告诉笨笨,好摆放发射筒。

    InputFormat

     输入第一行一个数n,表示放大倍数(1<=n<=200)。

    输入第二行两个字符c1c2,表示背景图案和字点图案。

    输入第三行为一个长度不超过255的字符串,由 'A'~'Z'以及空格组成。

    OutputFormat

     输出所构成的烟花图案。

    SampleInput

    2

     *

    VIJOS

     

    SampleOutput

     ** **    ******    ******      **           **   

     ** **    ******    ******     ****       ****  

     ** **       **           **       **   **    **   ** 

     ** **       **           **       **   **    *** ** 

     ** **       **           **       **   **     ***   

     ** **       **           **       **   **      ***  

     ** **       **           **       **   **    ** *** 

     ** **       **           **       **   **    **    ** 

       **      ******    ****         ****       ****  

       **      ******    ****           **          **   

    由于博客显示问题,这个输出有可能有问题,请大家下载txt文件:

    /Files/hhdllhflower/zoomSampleOutput.rar

    TimeLimitation

     1s超了别怪我……怪你自己的算法吧……

    Source

     http://www.tuchuan.com/a/114935.gif

  • 相关阅读:
    zabbix系列 ~ mongo监控相关
    zabbix系列 ~ 自动监控多实例功能
    mysql 查询优化 ~ 多表查询改写思路
    MGR架构~高可用架构细节的梳理
    mysql 半同步复制~ 整体概述与改进
    android 单独编译某个模块
    Nginx使用
    21天学通C++学习笔记(九):类和对象
    1. 个人经验总结
    C++视频教程学习笔记
  • 原文地址:https://www.cnblogs.com/hhdllhflower/p/1593371.html
Copyright © 2011-2022 走看看