終於到週末啦!小易走在市區的街道上準備找朋友聚會,突然伺服器發來警報,小易需要立即回公司修復這個緊急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
輸出例子:
看到題目,我是這麼想的,因為去公司只有兩種方式,一種是步行,一種是去乙個打車點打車去公司,而打車點又有好幾個,所以計算每個打車點需要的時間和步行需要的時間,其中最小的時間就是最終的結果。
可以通過乙個min函式進行迭代,來得到通過打車的時間的最少時間,然後再和步行時間做比較,得到最終的輸出。
public class dache
for(int i = 0; i < n; i++)
int gx = sc.nextint();
int gy = sc.nextint();
int walkt = sc.nextint();
int taxit = sc.nextint();
int drivet = integer.max_value;
int sumwalk = walkt*(math.abs(gx)+math.abs(gy)); //此為步行所用時間
//用迭代的方法得到n個打車點所用的最少時間drivet
for(int i = 0; i < n; i ++)
system.out.println(math.min(sumwalk, drivet)); //打車最短時間和步行時間作比較
}}
網易程式設計題 小易的英語軟體
原題 小易是班級的英語課代表,他開發了一款軟體開處理他的工作。小易的軟體有乙個神奇的功能,能夠通過乙個百分數來反應你的成績在班上的位置。成績超過班級 的同學 設這個百分數為 p,考了 s 分,則可以通過以下式子計算得出 p p 分數不超過 s 的人數 1 班級總人數 突然一天的英語考試之後,軟體突然...
演算法題 小易記單詞
小易參與了乙個記單詞的小遊戲。遊戲開始系統提供了m個不同的單詞,小易記憶一段時間之後需要在紙上寫出他記住的單詞。小易一共寫出了n個他能記住的單詞,如果小易寫出的單詞是在系統提供的,將獲得這個單詞長度的平方的分數。注意小易寫出的單詞可能重複,但是對於每個正確的單詞只能計分一次。輸入描述 輸入資料報括三...
2019網易校招筆試演算法程式設計題 小易橡皮泥
2018.9.8 15 00 17 00 哇這題花了我40分鐘 也沒做出來 直接害得我後面問答題來不及寫!以下為題目的大概描述 小易從橡皮泥的一處切開 即相當於分割字串 然後將兩側橡皮泥同時翻轉,連在一起。根據我的理解,就比如bwbbbww這個字串,假如從第四個b後處切開,翻轉的得到bbwbwwb ...