比赛 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;
}