2 趕去公司 網易2017春招

2022-08-24 01:42:07 字數 1474 閱讀 9046

[程式設計題] 趕去公司

時間限制:1秒

空間限制:32768k

終於到週末啦!小易走在市區的街道上準備找朋友聚會,突然伺服器發來警報,小易需要立即回公司修復這個緊急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解題思路:本題定義結構體儲存各點的橫座標、縱座標、距離起始點的距離、距離終點的距離、以及經過該點到達終點總用時。按點進行遍歷,獲得最小時間。

注意點:1)有可能完全走著的時間更小,因此min初始值為完全走著的時間

2)輸入的格式,不是按照乙個點分別輸入橫縱座標,而是先輸入所有點的橫座標,然後再   輸入所有點的縱座標

1 #include 2 #include 3

using

namespace

std;

4struct

point5;

12int

main()

1322

for(int i=0;i)

2326 cin>>p[n].x>>p[n].y;

27int

walktime;

28int

taxitime;

29int

min;

30int

walk;

31 cin>>walktime>>taxitime;

32for(int i=0;i)

3338 walk = abs(p[n].x) +abs(p[n].y);

39 min = walk*walktime;

40for(int i=0;i)

4145 cout47return0;

48 }

網易2017春招 趕去公司 解題報告

標籤 空格分隔 牛客網 終於到週末啦!小易走在市區的街道上準備找朋友聚會,突然伺服器發來警報,小易需要立即回公司修復這個緊急bug。假設市區是乙個無限大的區域,每條街道假設座標是 x,y 小易當前在 0,0 街道,辦公室在 gx,gy 街道上。小易周圍有多個計程車打車點,小易趕去辦公室有兩種選擇,一...

網易2017春招筆試題(2)

程式設計題 集合 時間限制 1秒 空間限制 32768k 小易最近在數學課上學習到了集合的概念,集合有三個特徵 1.確定性 2.互異性 3.無序性.小易的老師給了小易這樣乙個集合 s 需要根據給定的w,x,y,z,求出集合中一共有多少個元素。小易才學習了集合還解決不了這個複雜的問題,需要你來幫助他。...

網易2017春招筆試題(3)

程式設計題 奇怪的表示式求值 時間限制 1秒 空間限制 32768k 常規的表示式求值,我們都會根據計算的優先順序來計算。比如 的優先順序就高於 但是小易所生活的世界的表示式規則很簡單,從左往右依次計算即可,而且小易所在的世界沒有除法,意味著表示式中沒有 只有 和 現在給出乙個表示式,需要你幫忙計算...