比赛 20111012 评测结果 MMMMMMMMMM
题目名称 抗击SARS 最终得分 0
用户昵称 QhelDIV 运行时间 0.000 s
代码语言 C++ 内存使用 0.00 MiB
提交时间 2011-10-12 21:38:47
显示代码纯文本
#include<fstream>
using namespace std;
ifstream fin("sars.in");
ofstream fout("sars.out");

double x,r,l,v,position,LMax,RMin;
int total=1,sum,Num,s;
double c[20000000];
bool bo;
/*function*/

class cell
{
public:
	double L,R,M;
}Cell[20000000];

void init()
{
int i,j,Z=1;
	fin>>x>>r>>l>>v;
	
	for(i=1;Z<=l;i++)
	{
		Z=Z+Z;
		total++;
	}
	Cell[++sum].M=x;
	Cell[sum].L=x-r;
	Cell[sum].R=x+r;
}



int main()
{
	int i,j;
	init();
	for(i=1;i<=total;i++)
	{
		
		for(j=1;j<=sum;j++)
		{
			if(position>Cell[j].L) 
				LMax=position;
			else
					LMax=Cell[j].L;
			
			if(position+v<Cell[j].R)
				RMin=position+v;
			else
				RMin=Cell[j].R;
			if(LMax<=RMin)
			{
				Num++;
				bo=false;
				break;
			}
		}
		position+=v;
		for(j=1;j<=sum;j++)
			c[j]=Cell[j].M;
		s=sum;
		sum=0;
		for(j=1;j<=s;j++)
		{
			sum++;
			Cell[sum].M=c[j]-l;Cell[sum].L=c[j]-l-r;Cell[sum].R=c[j]-l+r;
			sum++;
			Cell[sum].M=c[j]+l;Cell[sum].L=c[j]+l-r;Cell[sum].R=c[j]+l+r;
			
		}
			
		l=l/2;
	}	
	
	
	fout<<Num;
	fin.close();
	fout.close();
	return 0;
}