比赛 20111012 评测结果 AAAWWWAWAA
题目名称 抗击SARS 最终得分 60
用户昵称 临轩听雨ゐ 运行时间 0.000 s
代码语言 C++ 内存使用 0.00 MiB
提交时间 2011-10-12 21:30:04
显示代码纯文本
#include<fstream>
using namespace std;
ifstream fin("sars.in");
ofstream fout("sars.out");
double x,r,l,v;
double k=0;
int m=0;
double s[101][4]={0};
int	p=0;
int main()
{
	fin>>x>>r>>l>>v;
	s[p][0]=x+l;
	s[p][1]=x+l;
	s[p][2]=x-l;
	s[p][3]=x-l;
	k+=v;
	if(k>=x-r-0.00001&&k<=x+r+0.00001)
		m++;
	else 
		if(k-v>=x-r-0.00001&&k-v<=x+r+0.00001)
			m++;
	while(l)
	{
		p++;
		s[p][0]=s[p-1][0]+r;
		s[p][1]=s[p-1][1]-r;
		s[p][2]=s[p-1][2]+r;
		s[p][3]=s[p-1][3]-r;
		k+=v;
		if((k>=s[p][1]-0.00001&&k<=s[p][0]+0.00001)||(k>=s[p][3]-0.00001&&k<=s[p][2]+0.00001))
			m++;
		else 
			if((k-v>=s[p][1]-0.00001&&k-v<=s[p][0]+0.00001)||(k-v>=s[p][3]-0.00001&&k-v<=s[p][2]+0.00001))
				m++;
		l/=2;
		s[p][0]=s[p-1][0]+r+l;
		s[p][1]=s[p-1][1]-r+l;
		s[p][2]=s[p-1][2]+r-l;
		s[p][3]=s[p-1][3]-r-l;
		if(l<1)break;
	}
	fout<<m;
	return 0;
}