標籤(空格分隔): 牛客網
終於到週末啦!小易走在市區的街道上準備找朋友聚會,突然伺服器發來警報,小易需要立即回公司修復這個緊急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
#include
using
namespace
std;
struct point point[51];
int getdistance(point a, point b)
int main()
for (int i = 1; i <= n; i++)
point end;
scanf("%d%d", &end.x, &end.y);
int walktime, taxitime;
scanf("%d%d", &walktime, &taxitime);
point start;
start.x = start.y = 0;
int ans[n];
for (int i = 0; i < n; i++)
int answer = 0x7fffffff;
for (int j = 0; j < n; ++j)
}int direct = getdistance(start, end);
int ansd = walktime * direct;
if (answer > ansd)
printf("%d\n", answer);
}return
0;}
2017 年 3 月 29 日 2 趕去公司 網易2017春招
程式設計題 趕去公司 時間限制 1秒 空間限制 32768k 終於到週末啦!小易走在市區的街道上準備找朋友聚會,突然伺服器發來警報,小易需要立即回公司修復這個緊急bug。假設市區是乙個無限大的區域,每條街道假設座標是 x,y 小易當前在 0,0 街道,辦公室在 gx,gy 街道上。小易周圍有多個計程...
網易2017春招筆試題(2)
程式設計題 集合 時間限制 1秒 空間限制 32768k 小易最近在數學課上學習到了集合的概念,集合有三個特徵 1.確定性 2.互異性 3.無序性.小易的老師給了小易這樣乙個集合 s 需要根據給定的w,x,y,z,求出集合中一共有多少個元素。小易才學習了集合還解決不了這個複雜的問題,需要你來幫助他。...
網易2017春招筆試題(3)
程式設計題 奇怪的表示式求值 時間限制 1秒 空間限制 32768k 常規的表示式求值,我們都會根據計算的優先順序來計算。比如 的優先順序就高於 但是小易所生活的世界的表示式規則很簡單,從左往右依次計算即可,而且小易所在的世界沒有除法,意味著表示式中沒有 只有 和 現在給出乙個表示式,需要你幫忙計算...