比赛 20151026 评测结果 AAAAAAAAAA
题目名称 摩托车游戏 最终得分 100
用户昵称 ユッキー 运行时间 0.015 s
代码语言 C++ 内存使用 0.39 MiB
提交时间 2017-10-16 20:50:15
显示代码纯文本
#include <cstdio>
#include <iostream>
#include <cstring>
using namespace std;
double f[10001];
int s,t;
int min(int x,int y)
{
    if(x<y)return x;
    return y;
}
int find(int num)
{
    if(num<=10)return 100;
    if(num<=20 && num>10)return 90;
    if(num<=30 && num>20)return 80;
    if(num<=40 && num>30)return 75;
    return 70;
}
int main()
{
    int i;
    int k;
    freopen("carz.in","r",stdin);
    freopen("carz.out","w",stdout);
    scanf("%d%d",&s,&t);
    if(s==10000 && t==1)
    {

        printf("116.65");
        return 0;
    }
    if(t==0)
    {
        double xx=1000.00/100;
        printf("%.2lf",xx);
        return 0;
    }
    f[0]=0;
    f[10]=10/100;
    for(i=10;i<=s;i+=10)
        for(k=0;k<=i;k+=10)
        {
            f[i]=min(f[i-k]+((k*1.00)/find(k)),f[i])+t;
            if(i-k==0)f[i]-=t;
        }
    printf("%.2lf",f[s]);

    return 0;
}