记录编号 27532 评测结果 WAAWWA
题目名称 跳远 最终得分 50
用户昵称 Gravatar苏轼 是否通过 未通过
代码语言 C++ 运行时间 0.019 s
提交时间 2011-09-26 19:34:31 内存使用 0.27 MiB
显示代码纯文本
#include<iostream>
#include<stdio.h>
#include<cmath>
using namespace std;
int number,v0,q[12],w[12];
double pao(int x);
void caculate(int x);
int main()
{
	freopen ("jump.in","r",stdin);
	freopen ("jump.out","w",stdout);
	cin>>number>>v0;
	for (int i=1;i<=number;i++)
	{
		cin>>q[i];
	}
	w[number]=number;
	for (int i=number-1;i>=1;i--)
	{
		caculate(i);
	}
	for (int i=1;i<number;i++)
	{
		cout<<w[i]<<' ';
	}
	return 0;
}
void caculate(int x)
{
	double gao,chang,gaohou,changhou=0;
	for (int i=1;i<=number-x;i++)
	{
		gao=q[x]/2*sqrt(double(3));
		chang=(double(q[x]/2));
		gaohou=q[x+i]/2*sqrt(double(3));
		changhou=changhou+q[x+i]/2+q[x]/2;
		if (pao(chang)<-gao)
		{
			w[x]=0;
			break;
		}
		if (pao(chang)>-gao&&pao(changhou)<gaohou-gao)
		{
			if (i==1)
			{
				w[x]=x+i;
			}
			else
			{
				w[x]=x+i-1;
			}
		}
		if (pao(changhou)>=gaohou-gao)
		{
			w[x]=x+i;
		}
	}
}
double pao(int x)
{
	return (0.4*x*((v0*v0/5)-x));
}