比赛 |
20111012 |
评测结果 |
WWWAWAWAAW |
题目名称 |
抗击SARS |
最终得分 |
40 |
用户昵称 |
donny |
运行时间 |
0.000 s |
代码语言 |
C++ |
内存使用 |
0.00 MiB |
提交时间 |
2011-10-12 20:37:40 |
显示代码纯文本
#include <iostream>
#include <fstream>
using namespace std;
int i,j,k;
double x,r,v;
bool b[30];
double ll,l;
int d;
double ABS(double x)
{
if (x<0)
x=-x;
return x;
}
void go(int x,double y,double dis)
{
double q;
q=dis/2;
if (q>1)
{
if (( ((y-q-r)>=v*x) and ((y-q-r)<=v*(x+1)) )or( ((y-q-r)<=v*x) and ((y-q+r)>=v*x) ))
b[x+1]=1;
else
if (( ((y+q-r)>=v*x) and ((y+q-r)<=v*(x+1)) )or( ((y+q-r)<=v*x) and ((y+q+r)>=v*x) ))
b[x+1]=1;
go(x+1,y+q,q);
go(x+1,y-q,q);
}
}
int main()
{
ifstream fin("sars.in");
ofstream fout("sars.out");
fin>>x>>r>>l>>v;
d=1;
ll=l;
while (ll>=1)
{
d++;
ll/=2;
}
if (ABS(x-v)<=r)
b[1]=1;
go(1,x,2*l);
j=0;
for (i=1;i<=d;i++)
if (b[i])
j++;
fout<<j<<endl;
fin.close();
fout.close();
return 0;
}