首页 > 代码库 > 16级第一周寒假作业D题
16级第一周寒假作业D题
第八集,体能训练
TimeLimit:1000MS MemoryLimit:128MB
64-bit integer IO format:%I64d
Problem Description
小A和小C跋山涉水,终于来到了特工们要聚集的城市,他们俩在附近找了家宾馆住下。这时,距离特工们聚会的时间越来越近了,是时候来一波体能训练,以防遇到危险,跑得太慢了,被抓住了,就GG了…
于是,小A和小C一起来到了宾馆附近的体育馆的环形操场上跑步,起先,他们两个人约定,一开始他们两个人从同一点,反方向跑步,每次两个人面对面相遇的话,第k次相遇则需要休息k秒,然后再各自往反方向按照原本的速度继续跑步。现在,告诉你操场长度是L,小A和小C的跑步速度分别是Va和Vc。这时候,问题来了,询问你经过k秒,输出他们相遇的次数、
由于两个人的体力有限,他们两个人约定相遇10000次就不跑了、
Input
有多组测试案例,
每组测试案例,第一行输入三个正整数,L,Va和Vc(1<=Va,Vc<=10,1<=L<=1000)。
第二行输入一个Q(Q<=10000),表示询问的次数。
接下来有Q行,每一行输入一个正整数k(1<=k=10^9),表示询问经过k秒后,他们相遇了多少次、
Output
对于每次询问的时间,输出他们相遇的次数、
SampleInput
2 1 1 8 0 1 3 10 20 21 5000000 511768840
SampleOutput
0 1 2 4 5 6 3161 10000
思路:根据题目的已知条件可以写出一个相遇次数和时间关系的等式k=n*L/(va+vc)+(n+1)*n/2-n,根据数学的求根公式求出n化简后显然得出其中一个数是负的要舍去,取正的解计算,算式中的整数要转成浮点型计算否者数据会有丢失。
浮点型运算得出的结果可能会有小误差,需要再加上一个很小的数。就可以AC了。
16级第一周寒假作业D题
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。