b045: I-電扶梯
標籤 : binary search
通過比率 : 4人/4人 ( 100% ) [非即時]
評分方式:
Tolerant

最近更新 : 2023-11-09 21:36

內容

全世界大多數國家和地區的大眾運輸系統,均有在電扶梯靠邊站立,讓道通行的習慣。不過因為這會加速電扶梯零件磨損,導致使用壽命縮短,部分地區的大眾運輸系統管理單位,已不再主動宣導旅客在電扶梯上靠邊站立。
台北捷運早期曾宣導靠右站立,空出左邊供趕時間旅客通行,雖然近年來已改為僅宣導站穩踏階,但絕大部分旅客仍維持靠右站立。對此,台北捷運公司新聞課課長凌啟堯於2016年8月24日受訪時指出:「(在電扶梯上)讓道通行是台灣獨有且良好的禮讓文化,讓一些趕時間的旅客能方便通行」,公開讚揚並支持旅客靠右站立的習慣。
台北捷運公司2017年1月17日也在官方網站發表聲明,強調「目前未限制電扶梯站立位置或行走與否,並呼籲旅客使用電扶梯時,發揮捷運禮讓文化,彼此尊重。」聲明指出北捷不但沒有禁止旅客在電扶梯上走動,還持續認同在電扶梯讓道通行是優良的捷運禮讓文化,並鼓勵電扶梯上的民眾多禮讓他人。
針對孕婦、老人、殘障、推嬰兒車以及攜帶行李的旅客,台北捷運公司在站內外的電扶梯使用宣導中呼籲「年長者、孕婦、行動不便者、推嬰兒車或雙手提物的人請改搭電梯」,建議上述旅客不要搭乘電扶梯,以免造成自身或其他旅客的危險。-截自維基百科

以下故事為虛構
============================================================================================
在一個捷運站內,手扶梯因為損壞而停止運轉,你透過過人的眼力看出每一格電扶梯的踏板上都只有兩個標記其中之一-為'o'或'x',且電扶梯的組成為「前$n$格的標示為$s$,且電扶梯的踏板標示組成為$s*m$」
在你的背包內,有$k$罐噴漆,噴漆可以將'x'變成'o'(不能將'o'變成'x')
最後,你在你的背包內找到了一封信,上面寫著:「所有在電扶梯的踏板上標示為'o'的都必須跨越(即不能踩在'o'上),'x'都必須被踩過(即不能跨越'x')。在一次內跨越過越多'o',生存的機會就會越大,請善用你的噴漆...」
你選擇了相信這封信上的內容
現在,請你找出利用噴漆後,能夠跨越過'o'的最大數量
註:你想一次跨幾格就跨幾格

輸入說明

單筆測資
第一行輸入變數$n$,$m$,$k$,分別代表$s$的長度,電扶梯踏板$s$重複了$m$次,以及你有$k$罐噴漆
第二行為一字串$s$,代表前$n$格電扶梯踏板的組成

輸出說明

輸出你能一次跨過幾格'o'

範例輸入
5 3 4
oxxox
範例輸出
8
測資資訊:
記憶體限制: 512 MB
公開 測資點#0 (10%): 1.0s , <1K
公開 測資點#1 (10%): 1.0s , <1K
公開 測資點#2 (10%): 1.0s , <1K
公開 測資點#3 (10%): 1.0s , <1M
公開 測資點#4 (10%): 1.0s , <1K
公開 測資點#5 (10%): 1.0s , <1M
公開 測資點#6 (10%): 1.0s , <1M
公開 測資點#7 (10%): 1.0s , <1M
公開 測資點#8 (10%): 1.0s , <1M
公開 測資點#9 (10%): 2.5s , <1M
提示 :

範例測資解釋
電扶梯上踏板標示,即字串$s*m$為"oxxoxoxxoxoxxox",可以替換四個'x'為'o',位置為5,8,7,10,可以得到最長的連續子字串組成皆為'o'為8個(你能一次跨過標示為'o'的電扶梯踏板數量)

設變數$x$為字串$s*m$中共有幾個'x'
則:

$#0$
$1 \leq n \leq 100$
$m==1$
$k==1$

$#1$
$1 \leq n \leq 100$
$m==1$
$k==x$

$#2$
$1 \leq n \leq 100$
$m==1$
$1\leq k \leq x$

$#3$
$1 \leq n \leq 10^5$
$m==1$
$1\leq k \leq x$

$#4$
$1 \leq n \leq 100$
$1 \leq m \leq 5$
$1 \leq k \leq x$

$#5$
$1 \leq n \leq 10^5$
$1 \leq m \leq 20$
$1 \leq k \leq x$

$#6$
$1 \leq n \leq 10^5$
$1 \leq m \leq 1000$
$1 \leq k \leq x$

$#7$
$1 \leq n \leq 10^5$
$1 \leq m \leq 10^5$
$1 \leq k \leq x$

$#8$
$1 \leq n \leq 10^5$
$1 \leq m \leq 10^7$
$1 \leq k \leq x$

$#0~#9$
$1 \leq n \leq 3*10^5$
$1 \leq m \leq 10^9$
$1 \leq k \leq x$
所有變數皆為正整數

python可以過
原題目:https://atcoder.jp/contests/abc300/tasks/abc300_f

標籤:
binary search
出處:
AtCoder Beginner Contest 300 [管理者:
Vandrin (357-10林明緯)
]


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