// Mini-proyek Bagian 5: Penghitung Susunan -- starter. // // Compile: g++ -std=c++17 -O2 -o susunan projects/05-penghitung-susunan/starter.cpp // Jalankan: ./susunan < projects/05-penghitung-susunan/contoh-masukan.txt #include #include using namespace std; const long long MOD = 1000000007; const int MAKS = 1000005; long long fakt[MAKS]; // TODO: long long pangkat_mod(long long a, long long b, long long m) // TODO: long long invers(long long a) -- pangkat_mod(a, MOD-2, MOD) // TODO: long long permutasi(int n, int r) -- n! * invers((n-r)!) // TODO: long long kombinasi(int n, int r) -- n! * invers(r!) * invers((n-r)!) // TODO: long long susunan_kata(const string &s) // panjang! dibagi faktorial banyaknya tiap huruf int main() { ios::sync_with_stdio(false); cin.tie(nullptr); // TODO: siapkan tabel faktorial sekali di awal. int q; cin >> q; while (q--) { int jenis; cin >> jenis; // TODO: baca masukan tambahan sesuai jenis dan cetak jawabannya. } // TODO: penguji -- bandingkan rumus dengan pencacahan langsung untuk // data kecil, cetak ke cerr. return 0; }