记录编号 27589 评测结果 AAAAAA
题目名称 跳远 最终得分 100
用户昵称 GravatarQhelDIV 是否通过 通过
代码语言 C++ 运行时间 0.002 s
提交时间 2011-09-26 22:01:49 内存使用 0.27 MiB
显示代码纯文本
#include<fstream>
#include<cmath>
using namespace std;
ifstream fin("jump.in");
ofstream fout("jump.out");
int n; bool bo;
double v0,v,sidelong[1000],ESH[200],start[200],x,y;
void reads()
{
	int i,j;
	fin>>n>>v0;
	for(i=1;i<=n;i++)
	{
		fin>>sidelong[i];
		ESH[i]=sidelong[i]/2*sqrt(3.0);
		start[i]=start[i-1]+sidelong[i-1]/2+sidelong[i]/2;
	}
}

int main()
{
	int i,j,k;
	bool bo;
	reads();
	ESH[n+1]=21000000;
	for(i=1;i<=n-1;i++)
	{
		for(j=i+1;j<=n;j++)
		{
			bo=true;
			v=-5*(start[j]-start[i])*(start[j]-start[i]);
			v=v / (ESH[j]-ESH[i]-start[j]+start[i]);
			v=sqrt(v);
				if(v>v0) {break;}
			if(start[j] - start[i]<ESH[j] - ESH[i]) {break;}
			for(k=j-1;k>=i+1;k--)
			{
				y=ESH[i]+start[k]-start[i]-5*pow(((start[k]-start[i])/v),2);
				if(y<=ESH[k]) {bo=false;}
			}
			if(bo==false) break;
		}
			if(i==j-1)
				fout<<0<<' ';
			else
				fout<<j-1<<' ';
			
	}
	
	fin.close();
	fout.close();
	return 0;
}