#3853
Astăzi în clasa 0 profesoara a numit Q copii și le-a dat 3 numere, a, b și c, copiii trebuiau să spună care este rezultatul calculului \({a}^{{C}_{b}^{c}}\), adică \({a}^{ \frac{b! }{{c! *(b-c)! }}}\), modulo \(10^9+7\). Copiii nu au știut să răspundă la întrebări așa că voi trebuie acuma să le spuneți rezultatul.
CsAcademy
| Problema | Clasa0 | Operații I/O |
tastatură/ecran
|
|---|---|---|---|
| Limita timp | 0.4 secunde | Limita memorie |
Total: 9 MB
/
Stivă 1 MB
|
| Id soluție | #63962258 | Utilizator | |
| Fișier | clasa0.cpp | Dimensiune | 1.26 KB |
| Data încărcării | 30 Martie 2026, 21:11 | Scor/rezultat | Eroare de compilare |
clasa0.cpp:1:26: warning: extra tokens at end of #include directive [enabled by default] #include <bits/stdc++.h> using namespace std; const long long MOD = 1000000007LL; const long long PHI = MOD - 1; // 1000000006 const long long P = 500000003LL; // prime, PHI = 2 * P long long modpow(long long a, long long e, long long mod) { long long r = 1; while (e) { if (e & 1) r = (r * a) % mod; a = (a * a) % mod; e >>= 1; } return r; } int main() { ios::sync_with_stdio(false); cin.tie(nullptr); int Q; cin >> Q; vector<tuple<int,int,int>> queries(Q); int maxB = 0; for (int i = 0; i < Q; i++) { int a, b, c; cin >> a >> b >> c; queries[i] = make_tuple(a, b, c); maxB = max(maxB, b); } vector<long long> fact(maxB + 1), invfact(maxB + 1); fact[0] = 1; for (int i = 1; i <= maxB; i++) fact[i] = (fact[i - 1] * i) % P; invfact[maxB] = modpow(fact[maxB], P - 2, P); for (int i = maxB; i >= 1; i--) invfact[i - 1] = (invfact[i] * i) % P; auto comb_mod_p = [&](int n, int k) -> long long { if (k < 0 || k > n) return 0; return fact[n] * invfact[k] % P * invfact[n - k] % P; }; auto comb_mod_2 = [&](int n, int k) -> int { return (((k & (n - k)) == 0) ? 1 : 0); }; for (int i = 0; i < Q; i++) { int a, b, c; tie(a, b, c) = queries[i]; long long rP = comb_mod_p(b, c); int r2 = comb_mod_2(b, c); long long e = rP; if ((e & 1LL) != r2) e += P; cout << modpow(a, e, MOD) << '\n'; } return 0; } ^ /usr/bin/ld: /usr/lib/debug/usr/lib/i386-linux-gnu/crt1.o(.debug_info): relocation 0 has invalid symbol index 11 /usr/bin/ld: /usr/lib/debug/usr/lib/i386-linux-gnu/crt1.o(.debug_info): relocation 1 has invalid symbol index 12 /usr/bin/ld: /usr/lib/debug/usr/lib/i386-linux-gnu/crt1.o(.debug_info): relocation 2 has invalid symbol index 2 /usr/bin/ld: /usr/lib/debug/usr/lib/i386-linux-gnu/crt1.o(.debug_info): relocation 3 has invalid symbol index 2 /usr/bin/ld: /usr/lib/debug/usr/lib/i386-linux-gnu/crt1.o(.debug_info): relocation 4 has invalid symbol index 11 /usr/bin/ld: /usr/lib/debug/usr/lib/i386-linux-gnu/crt1.o(.debug_info): relocation 5 has invalid symbol index 13 /usr/bin/ld: /usr/lib/debug/usr/lib/i386-linux-gnu/crt1.o(.debug_info): relocation 6 has invalid symbol index 13 /usr/bin/ld: /usr/lib/debug/usr/lib/i386-linux-gnu/crt1.o(.debug_info): relocation 7 has invalid symbol index 13 /usr/bin/ld: /usr/lib/debug/usr/lib/i386-linux-gnu/crt1.o(.debug_info): relocation 8 has invalid symbol index 12 /usr/bin/ld: /usr/lib/debug/usr/lib/i386-linux-gnu/crt1.o(.debug_info): relocation 9 has invalid symbol index 13 /usr/bin/ld: /usr/lib/debug/usr/lib/i386-linux-gnu/crt1.o(.debug_info): relocation 10 has invalid symbol index 13 /usr/bin/ld: /usr/lib/debug/usr/lib/i386-linux-gnu/crt1.o(.debug_info): relocation 11 has invalid symbol index 13 /usr/bin/ld: /usr/lib/debug/usr/lib/i386-linux-gnu/crt1.o(.debug_info): relocation 12 has invalid symbol index 13 /usr/bin/ld: /usr/lib/debug/usr/lib/i386-linux-gnu/crt1.o(.debug_info): relocation 13 has invalid symbol index 13 /usr/bin/ld: /usr/lib/debug/usr/lib/i386-linux-gnu/crt1.o(.debug_info): relocation 14 has invalid symbol index 13 /usr/bin/ld: /usr/lib/debug/usr/lib/i386-linux-gnu/crt1.o(.debug_info): relocation 15 has invalid symbol index 13 /usr/bin/ld: /usr/lib/debug/usr/lib/i386-linux-gnu/crt1.o(.debug_info): relocation 16 has invalid symbol index 13 /usr/bin/ld: /usr/lib/debug/usr/lib/i386-linux-gnu/crt1.o(.debug_info): relocation 17 has invalid symbol index 13 /usr/bin/ld: /usr/lib/debug/usr/lib/i386-linux-gnu/crt1.o(.debug_info): relocation 18 has invalid symbol index 13 /usr/bin/ld: /usr/lib/debug/usr/lib/i386-linux-gnu/crt1.o(.debug_info): relocation 19 has invalid symbol index 13 /usr/bin/ld: /usr/lib/debug/usr/lib/i386-linux-gnu/crt1.o(.debug_info): relocation 20 has invalid symbol index 13 /usr/bin/ld: /usr/lib/debug/usr/lib/i386-linux-gnu/crt1.o(.debug_info): relocation 21 has invalid symbol index 22 /usr/bin/ld: /usr/lib/debug/usr/lib/i386-linux-gnu/crt1.o(.debug_line): relocation 0 has invalid symbol index 2 /usr/lib/gcc/i686-linux-gnu/4.8/../../../i386-linux-gnu/crt1.o: In function \`_start': (.text+0x18): undefined reference to \`main' collect2: error: ld returned 1 exit status
www.pbinfo.ro permite evaluarea a două tipuri de probleme:
Problema Clasa0 face parte din prima categorie. Soluția propusă de tine va fi evaluată astfel:
Suma punctajelor acordate pe testele utilizate pentru verificare este 100. Astfel, soluția ta poate obține cel mult 100 de puncte, caz în care se poate considera corectă.