比赛 20111109 评测结果 AWAAAAAWAA
题目名称 摩托车游戏 最终得分 80
用户昵称 kaaala 运行时间 0.000 s
代码语言 C++ 内存使用 0.00 MiB
提交时间 2011-11-09 09:11:42
显示代码纯文本
#include<iostream>
#include<cstdio>
#include<cstdlib>

using namespace std;

const int oo=0x7fffffff;

int s,t,l;
double f[1011];

int getsp(int x)
{
	if(x<=10)
		return 100;
	if(x>10&&x<=20)
		return 90;
	if(x>20&&x<=30)
		return 80;
	if(x>30&&x<=40)
		return 75;
	return 70;
}

void dp()
{
	int i,j;
	double mnnt,sum,sp;
	f[0]=0;
	l=s/10;
	for(i=1;i<=l;i++)
	{
		mnnt=oo;
		for(j=i-1;j>=1;j--)
		{
			sp=getsp((i-j)*10);
			sum=(double)((i-j)*10)/sp;
			if(f[j]+sum+t/60<mnnt)
				mnnt=(double)f[j]+sum+t/60;
		}
		if((i*10)/getsp(i*10)<mnnt)
			mnnt=(double)(i*10)/getsp(i*10);
		f[i]=mnnt;
	}
}

int main()
{
	freopen("carz.in","r",stdin);
	freopen("carz.out","w",stdout);
	scanf("%d%d",&s,&t);
	dp();
	printf("%.2lf\n",f[l]);
	return 0;
}