b328: drinkwater的停車場
標籤 : 模擬
通過比率 : 1人/2人 ( 50% ) [非即時]
評分方式:
Tolerant

最近更新 : 2025-10-30 19:22

內容

$\def\bk{\color{#fa7a02}}$在城市邊緣,有一個不大但整潔的停車場,而這個停車場的主人叫 Drinkwater。他總是穿著整齊的制服,站在收費亭旁,手裡握著一支筆和一本登記簿。 

每天,他都像守護者一樣,仔細地觀察每一輛車的進出,也會和熟客聊上幾句,了解他們的小故事。雖然工作單調,但 Drinkwater 喜歡這 份平靜——這裡的每一個角落都是他的領地,每一個停車格都有屬於它的小秩序。

有一天,一輛陌生的車停了進來,司機急忙離開,忘了鎖車門。Drinkwater 皺了皺眉,但還是耐心地把車門鎖好,留下一張小紙條:「小 心,城市裡的意外不少。」他回到收費亭,喝了口水,微笑著看著陽光照在空空的停車格上。

對 Drinkwater 來說,停車場不只是停車的地方,它是城市裡小小的秩序與安寧的守護者,而他,就是那個守護者。

(眾所周知水喝多了就會有個停車場 對吧)

------------------------------------------------------------------------------

但每天的車輛進出讓 drinkwater 有點心累,又總有人忘記車停哪, drinkwater 腦袋裡全是水,根本記不起來這些車輛的位置。請你寫一段程式幫助 drinkwater 吧! (對了,這個世界的車牌號都是 $\bk{1 \sim 99999}$ 的正整數啦哈哈)

 

停車場總共有 $\bk{n}$ 個可停車的位置(編號為 $\bk{1 \sim n}$ ),總共會有 $\bk{m}$ 筆事件,事件有以下四種,

1.車輛進入

輸入兩正整數 $\bk{a}$ 以及 $\bk{b}$ , 代表:

車牌號 $\bk{a}$ 想從車位 $\bk{b}$ 停入

  • $\bk{b}$ 空 → 直接停入
  • $\bk{b}$ 已有車停 → 向右依序尋找最近的空位(也就是往 $\bk{b+1}$ , $\bk{b+2}$ 去尋找)
  • 若右邊都滿 → 從 $\bk{1}$ 開始循環尋找空位
  • 若整個停車場皆滿 → 輸出 "parking full",此車會直接離場
  • 若成功停入 → 輸出實際停入車位編號

($\bk{1 <= a < 100000}$) ($\bk{1<= b <=n}$)

 

2.車輛離開

輸入一正整數 $\bk{a}$ ,代表:

  • 車牌 $\bk{a}$ 的車離開(該車位恢復為空)

 此筆事件不用輸出

($\bk{1 <= a < 100000}$)保證此車在停車場裡

 

3.輸出目前停車場狀況

沒有多餘輸入,請輸出目前停車場停放狀況,依照以下格式輸出:

1:車牌號
2:車牌號
...

n:車牌號

如果該格無車輛停放,那就放0,就像這樣  1:0

 

4.車輛位置查詢

輸入一正整數 $\bk{a}$ ,請輸出車牌號為 $\bk{a}$ 的車停放位置的編號

($\bk{1 <= a < 100000}$) 保證此車在停車場裡

 

輸入說明

$\def\bk{\color{#fa7a02}}$第一行有兩數 $\bk{n}$ $\bk{m}$ ,表示有 $\bk{n}$ 個車位,$\bk{m}$ 筆事件 (車位編號為$\bk{1 \sim n}$ )

接下來 $\bk{m}$ 行首先有一數 $\bk{k}$ ,代表是哪種事件$k \in \{1, 2, 3, 4\}$

$\bk{k==1}$,接下來會有兩數 $\bk{a}$ $\bk{b}$,代表車牌 $\bk{a}$ 的車想停到編號為b的車位

$\bk{k==2}$,接下來會有一數 $\bk{a}$,代表車牌 $\bk{a}$ 的車離開了

$\bk{k==3}$,不會有多餘輸入,請輸出整個停車場目前狀況

$\bk{k==4}$,接下來會有一數 $\bk{a}$,代表要查詢車牌 $\bk{a}$ 的車在哪個編號的車位上

 

 

輸出說明

$\def\bk{\color{#fa7a02}}$$\bk{k==1}$時,輸出該車最後停在哪個位置,若停滿則輸出"parking full",並且此車會直接離場

$\bk{k==3}$時,輸出整個停車場的停放狀況(每個停車位換行)

$\bk{k==4}$時,輸出該車停放的位置

每筆輸出間換行

範例輸入
5 11
1 8787 3
1 9487 4
4 9487
1 87 3
3
1 12 3
1 520 4
1 1314 5
2 8787
4 12
3
範例輸出
3
4
4
5
1:0
2:0
3:8787
4:9487
5:87
1
2
parking full
1
1:12
2:520
3:0
4:9487
5:87
測資資訊:
記憶體限制: 64 MB
公開 測資點#0 (10%): 1.0s , <1K
公開 測資點#1 (10%): 1.0s , <1K
公開 測資點#2 (10%): 1.0s , <1M
公開 測資點#3 (10%): 1.0s , <1M
公開 測資點#4 (10%): 1.0s , <1M
公開 測資點#5 (10%): 1.0s , <1M
公開 測資點#6 (10%): 0.2s , <1M
公開 測資點#7 (10%): 0.2s , <1M
公開 測資點#8 (10%): 2.5s , <10M
公開 測資點#9 (10%): 2.5s , <10M
提示 :

$\def\bk{\color{#fa7a02}}$保證在所有時刻,停車場裡所有的車的車牌都相異

$10%:

$\bk{1<=n<=10}$

$\bk{1<=m<=100}$

$\bk{k \neq 4}$

20%:

$\bk{1<=n<=10}$

$\bk{1<=m<=100}$

40%:

$\bk{1<=n<=100}$

$\bk{1<=m<=1000}$

60%:

$\bk{1<=n<=1000}$

$\bk{1<=m<=10000}$

80%:

$\bk{1<=n<=100000}$

$\bk{1<=m<=100000}$

100%:

$\bk{1<=n<=100000}$

$\bk{1<=m<=1000000}$

對於測資點6~9,k==3的次數<總事件次數*0.1%

(就是k==3的情況非常稀少)

標籤:
模擬
出處:
[管理者:
drinkwater (383-23 黃彥凱)
]


編號 身分 題目 主題 人氣 發表日期
沒有發現任何「解題報告」