Daftar semua kombinasi dengan penggantian (atau kombinasi dengan pengulangan) ukuran k dari seperangkat elemen n .
Kombinasi dengan penggantian adalah multiset unordered bahwa setiap elemen di dalamnya juga di set dari n elemen. Perhatikan bahwa:
- Itu tidak teratur. Jadi set yang sebelumnya dicetak dengan urutan yang berbeda tidak boleh dicetak lagi.
- Ini adalah multiset. Elemen yang sama dapat (tetapi tidak diharuskan) muncul lebih dari sekali. Ini adalah satu-satunya perbedaan antara kombinasi dengan penggantian dan kombinasi normal.
- Set harus memiliki elemen k yang tepat .
Atau, itu juga merupakan subset size- k dari multiset yang berisi masing-masing n elemen k kali.
Input harus berupa n dan k , di mana elemen-elemennya adalah bilangan bulat pertama n positif atau non-negatif, atau elemen n dan k , di mana Anda dapat mengasumsikan elemen n semuanya berbeda satu sama lain.
Output harus berupa daftar semua kombinasi dengan penggantian dengan ukuran k dari set yang diberikan. Anda dapat mencetaknya dan elemen-elemen di dalamnya masing-masing dalam urutan apa pun.
Anda tidak boleh menggunakan builtin menghasilkan kombinasi dengan penggantian. Tetapi Anda dapat menggunakan builtin untuk menghasilkan kombinasi normal, permutasi, tupel, dll.
Ini golf kode, kode terpendek yang menang.
Contoh
Input: 4 2
Output: [0 0] [0 1] [0 2] [0 3] [1 1] [1 2] [1 3] [2 2] [2 3] [3 3]