巧克力很好吃,特別是堅果口味的。
某天,你拿到了一片有 $w \times h$ 格的長方形堅果巧克力,而你決定將這塊堅果巧克力分給你的朋友們。
在你的朋友當中,有 $n$ 個人對這片堅果巧克力有興趣,其中第 $i$ 個人想要恰好 $a_i$ 格堅果巧克力。 然而,為了方便派送,每個人都只能拿到一片長方形堅果巧克力(不能是很多片加總起來為 $a_i$ 格)。
而且因為你很懶,所以對於一塊堅果巧克力,你只想把它垂直或水平的分成兩份,不能分出其他形狀。 而且對於分出來的這兩片,至少其中一片必須恰好是某個朋友想要的大小,而你就會把那片堅果巧克力送給他。 具體的說,對於一片 $a \times b$ 的堅果巧克力,你只能把它分成 $a \times i$, $a \times (b-i)$ 的兩片, 或是 $j \times b$, $(a-j) \times b$ 的兩片,並把其中至少一片送給你的朋友。當然,$1 \leq i < b$,$1 \leq j < a$。
現在,為了滿足你的惰性,以及你的朋友的興趣,請你寫一支程式告訴你自己,你該如何分這片堅果巧克力,或是你沒辦法滿足每個人。
輸入的第一行有三個正整數,分別為 $n, w, h$,以一個空白分開。
輸入的第二行有 $n$ 個正整數,依序為 $a_1, a_2, \ldots, a_n$。
輸出的第一行是 Yes
或是 No
,分別代表你可以滿足每個人、你不能滿足每個人。
如果第一行是 No
,那麼輸出應該就此停止,否則輸出 $n$ 行,每一行有三個以空格分開的正整數 $p_i, w_i, h_i$,代表這一次你將這片堅果巧克力分出來的其中一片的大小是 $w_i \times h_i$ 的,且你將這一片堅果巧克力分給了你的第 $p_i$ 個朋友。
若有多組合法的解,你可以輸出任意一組。
IOICamp 2020 Day5 pJ
No. | Testdata Range | Constraints | Score |
---|---|---|---|
1 | 0~1 | 範例測資 | 0 |
2 | 0~95 | 無額外限制 | 100 |