赛题Word文件下载.docx
《赛题Word文件下载.docx》由会员分享,可在线阅读,更多相关《赛题Word文件下载.docx(12页珍藏版)》请在冰豆网上搜索。
租船游湖
2011年北航ACM集训队集体出游期间准备一起划船游湖。
询问租船点得知每条船最多只能载2人,且载重不能超过C。
为了节省费用,需要使租船的条数尽量少,但又要保证每个人都有船坐。
问最少要租多少条船。
输入的第一行是一个整数,为数据的组数t(t<
每组数据第一行为两个整数n(1<
=n<
=1000)和C(1<
=C<
=10^9),分别表示集训队的人数和每条船的载重量。
第二行为n个整数,分别表示每名队员的重量Wi(1<
=Wi<
=C)。
对于每组数据,输出最少需要租船的条数。
110
3
510
59712样例输出
1
管道计数器
有一个两端封闭的水平光滑直管道,假设其两端分别在坐标轴的0点和L点处,在0时刻,管道内有n个质量相同的弹性小球(球和管道的直径相同且无限趋近于0),第i个小球在位置xi以速度vi运动(速度大于则是向L点方向运动,小于0则是向0点方向运动),当小球运动至边缘(x=0或x=L)时就会原速反弹并使计数器加一,一开始计数器的值是0,问t0时刻计数器的值是多少。
=20)。
对于每组数据,第一行是三个整数n、L、t0,都小于10000。
接下来n行每行2个整数xi和vi,表示每个小球初始的坐标和速度(0<
xi<
L且|vi|<
100)。
对于每组数据,输出一个整数,为计数器的值(刚好在t0时刻到达两端的也会触动一次计数器)。
1105
1101
1-1样例输出
5
1提示
1.光滑指没有摩擦,弹性指碰撞没有能量损失。
2.假设i和j发生碰撞,
则有能量守恒:
和动量守恒:
联立上面2式可得:
和
取石子游戏
传说lzx暗地里结交了一个女朋友,今天本来是集训队训练的日子,但是lzx推脱自己有事不能参加,实际上是在陪女朋友玩取石子游戏……
游戏的规则是这样的:
石子一共有两堆,分别有a个和b个石子,两人轮流操作,当轮到自己的回合时,选择一堆石子,然后取走这堆石子里的不超过m个石子,不可以不取,然后变为对手的回合。
如果轮到某个人的回合,无石子可取,则这个人输掉这一局游戏。
lzx的女朋友做什么都非常认真,如果输掉任何一局游戏都会很不开心;
但同时lzx的女朋友是非常要强的人,她绝不希望lzx在与她的游戏中放水,也就是说,lzx和他的女朋友都会为自己的每一步选择最佳的策略。
这下lzx犯难了,他想到的唯一的既让女朋友开心,又不放水的方法,就是把游戏的初始状态设置成让女朋友一定会获胜的情况。
于是他自告奋勇的承担了每局比赛设置初始状态的工作……
请你判断,对于已知的a、b、m,以及每局先手操作方,这种情况能否让女朋友必胜呢?
=500),之后t行每行一组数据。
每组数据包括a、b、m三个整数及一个字符串s,之间均用一个空格隔开。
a、b、m的含义如题目描述中所示(0<
=a,b<
=2^63-1,1<
=m<
=2^31-1),字符串s代表每局的先手操作方。
如果lzx先操作,则字符串s为"
lzx"
,如果是lzx的女朋友先操作,则字符串s为"
gf"
。
对于每组测试数据,输出一行:
如果这个初始条件能够使得女朋友最终获胜,lzx逃过一劫,输出一行”Ohyeah!
”;
否则,lzx就免不了跪搓衣板了,输出一行”Ohmygod!
”。
121gf
121lzx样例输出
Ohyeah!
Ohmygod!
修改病句
我们小学、初中的时候经常会做修改病句的语文题。
其中有一个非常常用的符号,它叫做对调号,用符号或符号表示。
其中,第一个符号表示竖直线两端的内容互换,而第二个符号代表中间部分的位置不变,而两端的内容互换。
比如:
实际上等同于“cdab”,我们记作:
(ab*cd);
实际上等同于“fghicdeab”,我们记作:
(ab|cde|fghi)。
我希望你能写一个程序,来告诉我,一个字符串经过复杂的上述反转过程之后,最终结果是什么。
=100)。
每组测试数据只有一行,是一个字符串,其中不包含空格且长度不超过1000。
字符串内只包含大小写字母,数字,以及(*)(||)表达式。
两种表达式的含义如题目描述中所示。
输入保证括号匹配,且括号内如果有星号则一定只有1个星号,如果有竖线则一定只有两条竖线,并且在一层括号内不会同时出现星号和竖线,也不会同时不出现。
即:
(a*bc|d|e)是非法的,但(a*b(c|d|e))是合法的,其结果为bedca。
对于每个测试数据输出一行,为字符串经过变换后的结果。
该结果一定只包含大小写字母及数字。
(ab*cd)
(ab|cde|fghi)
(a*b(c|d|e))
(ab*c)defg
(ab*c(d|e|f))g(h*ij)样例输出
cdab
fghicdeab
bedca
cabdefg
cfedabgijh
照亮的面积
barty家买了一盏灯,他想计算一下家里的墙壁和地面总共有多少面积被灯光照亮了。
这个问题太简单了,所以他懒得写程序,所以就把这个简单的任务交给了你。
barty的家是一个边长为1的正方体,他在天花板的中心安装了这个灯,灯罩是圆锥形的,barty说,圆锥很美丽,所以你可以认为这盏灯发出的光形成了一个传说中的轴截面顶角为s的光锥。
当然,顶角有可能很大很大。
barty在告诉你s的值之后就去找MM玩了。
你得在他回来之前完成这个任务。
轴截面顶角是什么?
barty说,通过轴的截面不是个三角形嘛,这个还不知道……
=180)。
每组数据占一行,为1个正整数s(0<
=s<
180)为灯罩轴截面顶角的度数。
对于每组输入数据,输出barty家墙壁和地面总共有多少面积被灯光照亮了。
四舍五入到小数点后五位即可。
1样例输出
0.00000
0.00024
扔苹果
65536KB
牛顿小时候喜欢吃苹果,所以他发现了万有引力定律。
lzx小时候不喜欢吃苹果,但是他喜欢扔苹果,他发现每当他将苹果抛出的时候,苹果总是沿着抛物线运动。
于是他就自认为发现了“抛物线定律”,可惜当他满心欢喜地把这个“定律”告诉mm时,mm告诉他,其实苹果的轨迹从来都不是抛物线,而是椭圆。
LZX很失落,决心要把这个问题解决。
假设地球是质量均匀的球体,可以认为其质量集中在球心,lzx将苹果以速度v0水平抛出,希望计算苹果的轨迹方程,这里你只要输出轨迹的偏心率e就可以了。
下面先补充一点天体运动常识。
1.v0等于第一宇宙速度时,苹果的轨迹是圆,e=0
2.v0等于第二宇宙速度时,苹果的轨迹是抛物线,e=1
3.其他情况下苹果的轨迹都是椭圆或双曲线(虽然可能会中途撞到地球,但相撞前的轨迹也还是椭圆)
4.引理势能公式:
5.能量守恒公式:
6.角动量守恒公式:
现在告诉你,求偏心率e.
每组数据占一行,就一个实数k(0.0001<
k<
9.9999),意义如上文描述。
对于每组数据输出一行,要求的轨道的偏心率e,保留2为小数(样例分别是第一和第二宇宙速度)。
1.0000
1.4142样例输出
0.00
1.00
群聊
5000ms|内存限制:
barty最近打算开发一款群聊软件,为了方便他和后宫成员谈心。
这个软件可以支持多人的文字&
语音&
视频群聊。
但是现在他遇到了一个问题,由于他的后宫地处不同的地方,网络环境也不同,所以中心服务器的选取十分重要。
现在把所有涉及的路由器都给出,路由器之间的连接有一个权值,代表延迟时间。
一段路由的总延迟等于其中各段连接的延迟总和。
barty和他的后宫的电脑都会直接和所给的路由器相连,并且延迟可以忽略。
对于一次群聊,中心服务器的延迟,等于中心服务器到群聊的每台电脑的延迟总和。
例如下图:
如果选取2号路由器作为中心服务器,那么对于1、2、3号PC端的延迟为6+1+2+3=12。
现在你接下了barty的这个外包,他希望对于一些不同的群聊对象,你来选取一个延迟最小的中心服务器。
=50)。
对于每组数据,第一行包括两个整数n、m(1<
=500,1<
=10000),表示路由器数和连接数。
之后的m行,每行包含三个整数u、v、w,表示u号路由器和v号路由器相连,延迟为w(0<
w<
=1000)(保证任意两台路由器不会有两条直接相连的通路,也不会有路由器跟自己连有通路)。
再下一行包含一个整数q(q<
=20),表示需要计算的群聊次数。
紧跟着q行,每行第一个数s(2<
=100)表示这一次群聊的PC数,后面紧跟的s个数表示每台PC连接着的路由器编号(保证各次群聊的PC总数不超过100)。
对于每组数据,包含q行,每行输出一个整数表示这次群聊的最小延迟。
如果不能连接则输出-1。
55
126
231
342
453
1512
3125
542233样例输出
12
4
分组
3000ms|内存限制:
一年一度的暑期集训又开始了,但是今年大家对ACM竞赛的兴趣很高,参加集训的人也比往年多很多。
星爷打算把所有人先分成两组,分别进行不同的练习。
但遗憾的是,在一起训练的时候,由于各种原因,是会互相造成影响的。
现在集训队有n个人,有m对影响关系。
每对影响关系总是有这样的意义:
a和b如果在一组训练的话就会出现影响力为u的事件。
但是如果他们两个人不在一组的话就不会有这种问题。
明天星爷就要把分组名单交给学校核查了,领导在查看名单的时候只会关心影响最大的事件。
现在他希望找出一种分组方案,使得这个事件的影响力最小(没有事件的话,可以认为影响力是0)。
对于每组数据,第一行包含两个数n、m(1<
=20000,1<
=100000)含义见上文,之后m行,每行包含三个数a、b、u(1<
=n,0<
u<
=100000)表示a和b在一组会出现影响力为u的事件。
对于每组数据,输出一个整数,表示最佳分组方案会造成的最大影响力。
44
014
323
121
312样例输出
棋盘
在一个n行m列的棋盘上放棋子,显然一共有2^(n*m)种放棋方案.
对于某种放棋方案,如果存在3个棋子在同一行或同一列(注意不一定要连着,而且不考虑斜着3个的情况),则视为合法的情况,请问有多少种合法的放棋方案?
每组数据占一行,为2个正整数n、m(1<
=n,m<
=100)为棋盘的尺寸。
对于每组数据,输出合法的放棋方案数模1234567的结果。
22
14样例输出
5提示
样例提示
(x表示棋子)
1oxxx
2xoxx
3xxox
4xxxo
5xxxx