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