• 网易--赶去公司


    终于到周末啦!小易走在市区的街道上准备找朋友聚会,突然服务器发来警报,小易需要立即回公司修复这个紧急bug。假设市区是一个无限大的区域,每条街道假设坐标是(X,Y),小易当前在(0,0)街道,办公室在(gx,gy)街道上。小易周围有多个出租车打车点,小易赶去办公室有两种选择,一种就是走路去公司,另外一种就是走到一个出租车打车点,然后从打车点的位置坐出租车去公司。每次移动到相邻的街道(横向或者纵向)走路将会花费walkTime时间,打车将花费taxiTime时间。小易需要尽快赶到公司去,现在小易想知道他最快需要花费多少时间去公司。 

    输入描述:
    输入数据包括五行: 
    第一行为周围出租车打车点的个数n(1 ≤ n ≤ 50) 
    第二行为每个出租车打车点的横坐标tX[i] (-10000 ≤ tX[i] ≤ 10000) 
    第三行为每个出租车打车点的纵坐标tY[i] (-10000 ≤ tY[i] ≤ 10000) 
    第四行为办公室坐标gx,gy(-10000 ≤ gx,gy ≤ 10000),以空格分隔 
    第五行为走路时间walkTime(1 ≤ walkTime ≤ 1000)和taxiTime(1 ≤ taxiTime ≤ 1000),以空格分隔
    输出描述:
    输出一个整数表示,小易最快能赶到办公室的时间
    输入例子:
    2
    -2 -2
    0 -2
    -4 -2
    15 3
    输出例子:
    42
    #include <iostream>
    #include <algorithm>
    #include "string.h"
    #include "stdio.h"
    #include <vector>
    #include <deque>
    #include <stack>
    #include<map>
    #include<utility>
    #include "math.h"
    using namespace std;
    
    int main() {
        int num;
        int index;
    
        int company_x=0;
        int company_y=0;
        int walktime = 0;
        int taxitime = 0;
        int distence = 0;
        int aa = 0;
        int time = 0;
    
        cin>>num;
        if(num>50||num<1)
            return 0;
        vector<int> xStr(num);
        vector<int> yStr(num);
        int count = num*2+4;
        for(int i=0;i<num;i++){
            cin>>xStr[i];
        }
        for(int i=0;i<num;i++){
            cin>>yStr[i];
        }
        cin>>company_x>>company_y>>walktime>>taxitime;
        int min_time = (abs(company_x)+abs(company_y))*walktime;
    
        for(int i=0;i<num;i++)
        {
            int x = xStr[i];
            int y = yStr[i];
            int d1 = abs(x)+abs(y);
            int d2 = abs(x-company_x)+abs(y-company_y);
            int time = d1*walktime+d2*taxitime;
    
            if(time<min_time)
                min_time = time;
        }
        cout<<min_time<<endl;
        return 0;
    }
  • 相关阅读:
    2021.4.14
    每日总结
    每日总结
    每日总结
    oracle db组面试 复习数据库
    二叉树根结点到叶节点的最短距离
    minheap 最小堆的实现
    Maximum element in a sorted and rotated array排序和旋转数组中的最大元素
    树和图bfs的一个共同点
    117. Populating Next Right Pointers in Each Node II 不完全二叉树连接右边节点
  • 原文地址:https://www.cnblogs.com/omelet/p/6627480.html
Copyright © 2020-2023  润新知