zoukankan      html  css  js  c++  java
  • 【t062】最厉害的机器人

    Time Limit: 1 second
    Memory Limit: 128 MB

    【问题描述】

    【背景】 Wind设计了很多机器人。但是它们都认为自己是最强的,于是,一场比赛开始了~
    【问题描述】
    机器人们都想知道谁是最厉害的,于是它们进行如下一种比赛。每个机器人需要在最短的时间内找到自己面前的一个球,走到它
    面前并绕过它,将球推进身后的球门。
    首先Wind给了每个机器人一些钱,让他们去补充自己的装备,Wind给的钱恰好够补充k个装备。有如下几个装备可供补充:亮度传感
    器,超声波测距,触动传感器,马达。(每种装备最多有10个)
    而机器人找到球的时间=(20-亮度传感器*2)*x1,球离机器人的距离为(100-超声波测距*7)*x2,绕过球的距离为(100-触动传感器
    *9)*x3,机器人的速度为(10+马达*1)*x4。换句话说,总共的时间为,找球的时间+走到球的时间+绕过球的时间+走回原地的时
    间。机器人们要如何配置自己的装备才能达到最短的时间呢?
    【时间限制】
    每个测试点1s
    【注释hint】
    因为有了超声波,所以距离更加精确。
    因为有了触动传感器,可以更精确的感觉到球。(有点牵强- -将就看吧。)
    【输入格式】

    每组测试数据只有1行5个数k,x1,x2,x3,x4 (0<=k<=40,1<=x1,x2,x3,x4<=10,且均为整数)。

    【输出格式】

    对每组数据输出1行为最短的时间,保留3位小数。

    Sample Input

    5 1 1 1 1

    Sample Output

    39.000

    【题目链接】:http://noi.qz5z.com/viewtask.asp?id=t062

    【题解】

    枚举大法好。
    直接四重循环每种装备有多少个就好;
    那4种装备,每种增加都会减少时间.所以肯定是恰好为四种装备数总和为k的时候时间花得最少;
    按照所给的公式计算时间.取最小值就好.

    【完整代码】

    #include <cstdio>
    #include <iostream>
    #include <algorithm>
    using namespace std;
    #define rep1(i,x,y) for (int i = x;i <= y;i++)
    
    int k;
    double x1,x2,x3,x4;
    double ans = -1;
    
    int main()
    {
        //freopen("F:\rush.txt","r",stdin);
        scanf("%d%lf%lf%lf%lf",&k,&x1,&x2,&x3,&x4);
        rep1(n1,0,10)
            rep1(n2,0,10)
                rep1(n3,0,10)
                    rep1(n4,0,10)
                        {
                            if (n1+n2+n3+n4==k)
                            {
                                double temp = (20-2*n1)*x1*1.0;
                                temp+=((2*(100-n2*7)*x2+(100-n3*9)*x3)*1.0)/(1.0*((10+n4)*x4));
                                if (ans<0)
                                    ans = temp;
                                else
                                    ans = min(ans,temp);
                            }
                            else
                                if (n1+n2+n3+n4>k)
                                    break;
                        }
        printf("%.3lf
    ",ans);
        return 0;
    }
    
  • 相关阅读:
    LeetCode 189. Rotate Array
    LeetCode 965. Univalued Binary Tree
    LeetCode 111. Minimum Depth of Binary Tree
    LeetCode 104. Maximum Depth of Binary Tree
    Windows下MySQL的安装与配置
    LeetCode 58. Length of Last Word
    LeetCode 41. First Missing Positive
    LeetCode 283. Move Zeroes
    《蚂蚁金服11.11:支付宝和蚂蚁花呗的技术架构及实践》读后感
    删除docker下的镜像
  • 原文地址:https://www.cnblogs.com/AWCXV/p/7626698.html
Copyright © 2011-2022 走看看