a167. TOI 2022/11 新手組:積木對接

中等TOI 歷屆

時間限制 1000 ms ・ 記憶體限制 256 MB

題目描述

有一長一短兩塊積木,其橫向形狀都由卡榫與凹槽交替組成。卡榫高度為 2,凹槽高度為 1。長積木從凹槽開始,也以凹槽結束;短積木從卡榫開始,也以卡榫結束。 保持輸入所列的左右順序,將短積木水平移動後與長積木對接。若短積木完整位於長積木寬度之內,而且重疊處的兩塊高度相加都不超過 3,便算成功;中間留有空隙沒有關係。請判斷是否存在成功的擺放方式。

輸入格式

第一行為長積木的卡榫數 N(1 ≤ N ≤ 100)。 第二行有 2N+1 個整數,為長積木由左至右各段的寬度,依序是凹槽、卡榫、凹槽……。 第三行為短積木的卡榫數 M(1 ≤ M ≤ 10)。 第四行有 2M-1 個整數,為短積木由左至右各段的寬度,依序是卡榫、凹槽、卡榫……。 每段寬度皆為 1 至 10。

輸出格式

能成功對接輸出 YES,否則輸出 NO。

來源

TOI 2022/11 新手組〈積木對接〉,競賽日期 2022/11/28~2022/12/02。本題敘述重新撰寫,公開與隱藏測資均重新設計。 https://tpmso.k12ea.gov.tw/toi/wp-content/uploads/question/202211/Blocks.pdf

範例測資

範例輸入 1

1
4 2 4
2
3 2 3

範例輸出 1

YES
請先登入後再提交程式碼

討論與題解

載入討論區…

更多