Advertisement
a53

D-CaesarQueries

a53
Aug 18th, 2021
97
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.77 KB | None | 0 0
  1. #include <bits/stdc++.h>
  2. #pragma warning (disable : 26451)
  3. #pragma warning (disable : 4996)
  4. #define mod 666013
  5. using namespace std;
  6. ifstream fin("caesar.in");
  7. ofstream fout("caesar.out");
  8. int main() {
  9. int lg = 2000;
  10. vector<int> fact(lg + 1);
  11. fact[0] = 1;
  12. for (int i = 1; i <= lg; ++i) {
  13. fact[i] = fact[i - 1] * i;
  14. fact[i] %= mod;
  15. }
  16. vector<vector<int>> dp(lg + 1, vector<int>(lg + 1));
  17. dp[1][1] = 1;
  18. for (int i = 2; i <= lg; ++i) {
  19. for (int j = 1; j <= lg; ++j) {
  20. dp[i][j] = ((dp[i - 1][j] * j) % mod + dp[i - 1][j - 1]) % mod;
  21. }
  22. }
  23. int q;
  24. fin >> q;
  25. for (int i = 1; i <= q; ++i) {
  26. int n, k;
  27. fin >> n >> k;
  28. fout << (1ll * dp[n][k] * fact[k]) % mod << '\n';
  29. }
  30. cout << "\nTime elapsed: " << 1000 * clock() / CLOCKS_PER_SEC << "ms\n";
  31. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement