201609 2 火車購票

2021-09-27 10:01:45 字數 702 閱讀 7137

解題思路:

用乙個二維的vector儲存座位的狀態,vector的第一維長度固定,表示20排,第二維的長度不固定,這一排有幾個座位被占用了就有幾個元素,如果當前排剩下的位置大於等於p就從小到大占用這一排的p個座位,輸出這幾個座位對應的序號,如果所有排剩餘的座位都小於p,就從較小的排開始分若干排的座位給p個人佔座。

#include

using

namespace std;

vector

int>

>mp(

21);//這裡初始化mp的第一維的長度為21,我們不用mp[0]所以初始化為21

void

func

(int p)

else

mp[i]

.push_back(1

);//往這一排加入元素1,其實加入數字幾都可以,只是為了佔位置

}return;}

}//如果沒有哪一行剩餘的座位大於等於p

for(

int i=

1;i<=

20;i++)}

return;}

intmain

(void

)return0;

}

201609 2 火車購票

試題編號 201609 2 試題名稱 火車購票 時間限制 1.0s 記憶體限制 256.0mb 問題描述 問題描述 請實現乙個鐵路購票系統的簡單座位分配演算法,來處理一節車廂的座位分配。假設一節車廂有20排 每一排5個座位。為方便起見,我們用1到100來給所有的座位編號,第一排是1到5號,第二排是6...

201609 2 火車購票

問題描述 試題編號 201609 2 試題名稱 火車購票 時間限制 1.0s 記憶體限制 256.0mb 問題描述 問題描述 請實現乙個鐵路購票系統的簡單座位分配演算法,來處理一節車廂的座位分配。假設一節車廂有20排 每一排5個座位。為方便起見,我們用1到100來給所有的座位編號,第一排是1到5號,...

201609 2 火車購票

請實現乙個鐵路購票系統的簡單座位分配演算法,來處理一節車廂的座位分配。假設一節車廂有20排 每一排5個座位。為方便起見,我們用1到100來給所有的座位編號,第一排是1到5號,第二排是6到10號,依次類推,第20排是96到100號。購票時,乙個人可能購一張或多張票,最多不超過5張。如果這幾張票可以安排...