時間限制 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
請先登入後再提交程式碼
討論與題解
載入討論區…