笨笨工作室告别十月模拟赛
笨笨工作室告别十月模拟赛
为了大家适应今年复赛电子版题目特意整理了一份电子版题目:
/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,m(1<=n,m<=200)。
OutputFormat
输出有多行,为最少步数结束的棋局。
格式如下:
STEP-----:当前局势
具体请见描述及样例。
若有多解,输出字典序靠后的。
若不明白W、B、_这三个字符的顺序的,请见注释 Hint。
SampleInput
1 1
SampleOutput
STEP 0:B_W
STEP 1:_BW
STEP 2:WB_
STEP 3:W_B
TimeLimitation
1s
Hint.
W、B和_的顺序是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表示终点}
时刻0:0|||E 开始
时刻1:B0--E 前进
时刻2:B|0-E 前进
时刻3:B-0|E 止步
时刻4:B||0E 前进
时刻5:B---0 抵达
【对于样例2的解释】
时刻0:0|E
时刻1:0|E
时刻2:0|E
时刻3:0|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
家到学校距离为(1,5)至(1,4)或(2,5)。
maa03
家到学校距离为(3,2)至(2,3)或(4,3)至(3,4)。
maa00
家到学校距离为(1,1)至(1,3)。
maa02
家到学校距离为(5,1)至(2,3)或(3,4)。
maa04
家到学校距离为(5,1)至(2,3)或(3,4)。
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)。
输入第二行两个字符c1和c2,表示背景图案和字点图案。
输入第三行为一个长度不超过255的字符串,由 'A'~'Z'以及空格组成。
OutputFormat
输出所构成的烟花图案。
SampleInput
2
*
VIJOS
SampleOutput
** ** ****** ****** ** **
** ** ****** ****** **** ****
** ** ** ** ** ** ** **
** ** ** ** ** ** *** **
** ** ** ** ** ** ***
** ** ** ** ** ** ***
** ** ** ** ** ** ** ***
** ** ** ** ** ** ** **
** ****** **** **** ****
** ****** **** ** **
由于博客显示问题,这个输出有可能有问题,请大家下载txt文件:
/Files/hhdllhflower/zoomSampleOutput.rar
TimeLimitation
1s超了别怪我……怪你自己的算法吧……
Source
http://www.tuchuan.com/a/114935.gif