problem description
lele 在下沙高校中有很多同學,所以他有時間也經常到處去看望同學(順便蹭飯)。
在下沙,最便宜方便的交通工具莫過於小麵的了。
坐得多了,lele有時候也想,如果將來失業了,能夠在下沙開開小麵的,也是多麼幸福的啊。
終於有一天,他如願當上了小麵的的司機。為了更好的服務客戶,他訂立了一些開車的法則。
1.當有人要求上車時,如果不是下面這兩種情況,他就會讓人上車。
2.有些人會因為迷路,往往不知道自己在**。比如身在城市1,他也會要求lele把他送到城市1。這時,lele當然具有商人誠信的原則,告訴他這個情況,並且不會讓他上車。
3.由於小麵的的座位只有7個(不包括司機lele的駕駛座),如果當時車上已經有7個人,lele就不會讓人再上車了。
4.在沒人上車時,lele會看車內誰最早上車,然後把他送到目的地,當然,車內其他要去這個地方的人也會一起下車。然後車停在那個位置
5.如果車內已經沒乘客了,lele就會在原地等著,直到下乙個顧客上門。否則lele在那個地方重複前面的法則。
現在,告訴你lele一天面對到的情況,請幫他計算一下,他一天一共開了多少距離。
input
本題目包含多組測試。最後一組測試後有乙個0代表結束。
每組測試第一行有乙個整數ncity(3<=ncity<=30)表示下沙一共有多少個站點(站點從0開始標號)。
然後給你乙個 ncity * ncity 的矩陣,表示站點間的兩兩距離。即這個矩陣中第 i 行 第 j 列的元素表示站點 i 和站點 j 的距離。(0<=距離<=1000)
再然後有乙個正整數 k , 表示接下來有k個指令。每個指令佔一行。
當指令開頭為 up 的時候,接下來有乙個整數 t ,表示在面的所在位置有乙個要去站點t(0<=t
output
最後在一行內輸出乙個整數,表示lele的面的一共開了多少距離。
sample input
30 1 2
1 0 3
2 3 0
9up 1#include #include #include using namespace std;
int dis[35][35];
int a[10],vis[10],stay;
int main()
else if(c[0] == 'g')
{if(!l)
continue;
to = a[0];
int t = l;
sum+=dis[stay][to];
for(i = 0; i
sample output
7
下沙小麵的 2
前文再續,書接上一題。話說當上小麵的司機的lele在施行他的那一套拉客法則以後,由於走的路線太長,油費又貴,不久便虧本了。真可憐 於是他又想了乙個拉客的辦法。對於每一次拉客活動,他一次性把乘客都拉上車 當然也不會超過7個,因為位置只有7個 然後,lele計算出一條路線 出於某些目的,lele只把車上...
下沙小麵的 2
description 前文再續,書接上一題。話說當上小麵的司機的lele在施行他的那一套拉客法則以後,由於走的路線太長,油費又貴,不久便虧本了。真可憐 於是他又想了乙個拉客的辦法。對於每一次拉客活動,他一次性把乘客都拉上車 當然也不會超過7個,因為位置只有7個 然後,lele計算出一條路線 出於某...
下沙小麵的 2
前文再續,書接上一題。話說當上小麵的司機的lele在施行他的那一套拉客法則以後,由於走的路線太長,油費又貴,不久便虧本了。真可憐 於是他又想了乙個拉客的辦法。對於每一次拉客活動,他一次性把乘客都拉上車 當然也不會超過7個,因為位置只有7個 然後,lele計算出一條路線 出於某些目的,lele只把車上...