回答編集履歴

1

修正

2022/09/21 05:46

投稿

can110
can110

スコア38266

test CHANGED
@@ -1,4 +1,6 @@
1
+ 配列を分割した後の**並びが変わらないもののみを列挙**するという条件であれば、以下のような考えで実現できます。
2
+
1
- 提示の条件(並びは変わらない)ことから、配列を分割する`n-1`本の棒をどこに挿入すればよいかという問題として考えればよいと思います。
3
+ 配列を分割する`n-1`本の棒をどこに挿入すればよいかという問題として考えればよいと思います。
2
4
  棒の位置は`N-1`個から`n-1`個を選ぶ組み合わせで求めることができます。
3
5
  `Python`では`itertools.combinations`という関数があるのでそれが利用できます。
4
6
  あとは先頭から棒の位置に従って配列を分割すればよいです。