$N$個可重複的英文字母排成一列,共有幾種排法?比如說,兩個A一個B一個C排成一列共有12種排法,依照字典排序法依序如下:AABC、AACB、ABAC、ABCA、ACAB、ACBA、BAAC、BACA、BCAA、CAAB、CABA、CBAA。
現在給定一個排序$\pi$,請問$\pi$是該些字母排列中的第幾個?上述中第0個為AABC,第1個為AACB,而BAAC是兩個A一個B一個C的排列中依照字典排序法中的第6個。若$\pi$是該些字母排列中的第$K$個,為方便輸出,給定一個整數$D$,輸出$K$除以$D$的餘數。
輸入只有一行,先有一個整數$D(1 < D < 10000)$,再有一串可重複字母的英文字串$S$,中間以空白隔開。
子任務(測資) | 額外限制 | 分數 |
1 (0~6) | 字母$S$字母不重複,長度最多為5 | 10 |
2 (7~16) | 字串$S$字母不重複,長度最多為52 | 20 |
3 (17~26) | 字串$S$字母可重複,長度最多為10 | 30 |
4 (27~39) | 字串$S$字母可重複,長度最多為1024 | 40 |
假設字串$S$為該些字母的排列中的第$K$個,輸出$K$除以$D$的餘數。
2018 TOI入營考pB
No. | Testdata Range | Score |
---|---|---|
1 | 0~6 | 10 |
2 | 7~16 | 20 |
3 | 17~26 | 30 |
4 | 27~39 | 40 |