今天晴天 » 日志 » P1277 风筝-逃亡 极其WS
P1277 风筝-逃亡 极其WS
Ronice 发表于 2006-11-02 21:29:49
| 描述 Description | |
| 燕姿以出发地作为原点建立了一个坐标轴(原点为x,单位都为m),歌迷们也可以理解为坐标轴上的一点。 歌迷的的追赶规律是这样的:第一群歌迷聚在一个点,而任何一群歌迷如果在1s内找不到燕姿的话就会分头去追,此时每一群歌迷都会分离成2群,分别沿坐标轴的正负两个方向移动一段距离l(由于追星心切,移动的时间忽略不计),然后又静止1s,再按同样的规则但移动的距离变为上一次的1/2再分开。直到某一群歌迷分头移动的距离<1m时,将由于筋疲力尽,人数过少而不能在分头行动。 任意一群歌迷可以寻找到的的范围,都是以该群歌迷所处点为中心,半径始终为r的圆。另外,必须考虑的就是燕姿也时刻在跑(速度为v),把这理解为燕姿从原点上以一定速度沿x轴正方向移动。如果燕姿被一群歌迷发现了(也就是在一群歌迷的发现范围之内或者经过一群歌迷的发现范围之内),那么她就必须签名1次。 现在,想知道燕姿必须签名多少次。(在歌迷发现范围以内以及距离歌迷发现范围0.1的范围内,燕姿也会被歌迷们发现)。 |
|
| 输入格式 Input Format | |
| 输入只有一行 x,r,l,v(abs(x)<=2^20 r,l,v<=2^20) 分别是歌迷出发点坐标,歌迷发现范围的半径,第一群歌迷分头寻找后两群人各将移动的距离以及燕姿奔跑的速度。 | |
| 输出格式 Output Format | |
| 输出只有一个整数,表示燕姿必须签名多少次。 |
试验过了, 用0.00000001有3个点不能过,0.0000001就ac了
>=和>效果一样
题目阿…… 怎么看都和逃亡不相称,多好的一首歌啊,猥琐成这样
var
x,r,l,v:real;
t:longint;
p:array[1..50] of boolean;
procedure main(a,b,c:real;i:longint);{x,l,syz x}
begin
if b>=1-0.000001 then
if (a>=c-r-0.1)and (a<=c+r+v+0.1) and (p[i]=false) then
begin t:=t+1; p[i]:=true; end;
if b+0.000001>1 then begin
main(a+(b/2),b/2,c+v,i+1); main(a-(b/2),b/2,c+v,i+1)
end;
end;
begin
readln(x,r,l,v);
t:=0;
main(x,l*2,0,1);
writeln(t);
end.
相关日志:
收藏:
QQ书签
del.icio.us
订阅:
Google
抓虾

