比赛 20111109 评测结果 AAAAAAAAAA
题目名称 摩托车游戏 最终得分 100
用户昵称 苏轼 运行时间 0.000 s
代码语言 C++ 内存使用 0.00 MiB
提交时间 2011-11-09 09:31:48
显示代码纯文本
#include<iostream>
#include<cstdio>
#include<cstdlib>
#define min(a,b) ((a)<=(b)?(a):(b))
using namespace std;
int s;
double t,q[10001]={0},f[5]={100,90,80,75,70};
int main()
{
	freopen ("carz.in","r",stdin);
	freopen ("carz.out","w",stdout);
	cin>>s>>t;
	t/=60;
	for (int i=10;i<=s;)
	{
		for (int k=0;k<=i;)
		{
			int temp;
			double temp1;
			temp1=i-k;
			temp=(i-k-1)/10;
			if (temp<4)
			{
				if (q[i]==0)
				{
					if (k==0)
					{
						q[i]=q[k]+temp1/f[temp];
					}
					else
					{						
						q[i]=q[k]+temp1/f[temp]+t;
					}
				}
				else
				{
					q[i]=min(q[i],q[k]+temp1/f[temp]+t);
				}
			}
			else
			{
				if (q[i]==0)
				{
					if (k==0)
					{
						q[i]=q[k]+temp1/f[4];
					}
					else
					{						
						q[i]=q[k]+temp1/f[4]+t;
					}
				}
				else
				{
					q[i]=min(q[i],q[k]+temp1/f[4]+t);
				}
			}
			k+=10;
		}
		i+=10;
	}
	printf("%.2lf",q[s]);
	return 0;
}