Diberikan serangkaian formula seperti ini:
bacb
bcab
cbba
abbc
Berikan algoritme yang menemukan jumlah hasil unik yang bisa Anda dapatkan ketika setiap variabel diganti dengan "0" atau "1" di setiap rumus.
Ada (k!)^2
rumus, masing-masing dengan 2k-1
variabel dan k^2
istilah. Ekspresikan asimptotik Anda dalam hal k
.
Algoritma tercepat menang. Dalam kasus seri, solusi dengan penggunaan memori asimptotik yang lebih rendah akan menang. Jika itu masih seri, pos pertama menang.
Untuk contoh di atas, hasil berikut dapat diperoleh dengan mengganti variabel:
1110, 0110, 1001, 0100, 1000, 0000, 0010, 1101, 1111, 0001, 1011, 0111
Jadi jawaban yang benar adalah 12. Antara lain, 1010
tidak bisa dibuat menggunakan rumus di atas.
Saya telah membuat tiga lagi test case, dengan masing-masing solusi 230 , 12076 dan 1446672 .
a
, b
, ... adalah variabel ? Dan kita selalu memiliki jumlah variabel yang tidak merata? Tidak masalah berapa lama urutan variabelnya, dan berapa banyak formula yang diberikan?