Advertisement
Korotkodul

CF 29.09 C

Sep 29th, 2022 (edited)
578
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.79 KB | None | 0 0
  1. #include <iostream>
  2. #include <cmath>
  3. #include <vector>
  4. #include <queue>
  5. #include <algorithm>
  6. #include <string>
  7. #include <stack>
  8. #include <set>
  9. #include <map>
  10. #define pii pair <int, int>
  11. #define pb(x) push_back(x)
  12. using namespace std;
  13. using ll = long long;
  14. using ld = long double;
  15. using db = double;
  16. void cv(vector <int> &v) {
  17.     for (auto x : v) cout << x << ' ';
  18.     cout << "\n";
  19. }
  20.  
  21. void cvl(vector <ll> &v) {
  22.     for (auto x : v) cout << x << ' ';
  23.     cout << "\n";
  24. }
  25.  
  26.  
  27. void cvv(vector <vector <int> > &v) {
  28.     for (auto x : v) cv(x);
  29.     cout << "\n";
  30. }
  31.  
  32. void cvb(vector <bool> v) {
  33.     for (bool x : v) cout << x << ' ';
  34.     cout << "\n";
  35. }
  36.  
  37. void cvs(vector <string>  v) {
  38.     for (auto a : v) {
  39.         cout << a << "\n";
  40.     }
  41. }
  42.  
  43. void cvp(vector <pii> a) {
  44.     for (auto p : a) {
  45.         cout << p.first << ' ' << p.second << "\n";
  46.     }
  47.     cout << "\n";
  48. }
  49. bool sh = 1;
  50. ll mod = 998244353;
  51. vector <ll> F(33,1);
  52. ll C(ll n, ll k) {
  53.     return F[n] / F[k] / F[n - k];
  54. }
  55.  
  56. int main() {
  57.     /*ios::sync_with_stdio(0);
  58.     cin.tie(0);
  59.     cout.tie(0);*/
  60.     ll t = 1, n;
  61.     if (!sh) cin >> t;
  62.  
  63.     for (int i = 2; i <= 32; ++ i) {
  64.         F[i] = F[i - 1] * i ;
  65.     }
  66.     if (sh) {
  67.         cout << "F\n";
  68.         cvl(F);
  69.     }
  70.     vector <ll> dp(32);
  71.     dp[0] = 1;
  72.     dp[1] = 3;
  73.     for (ll i = 2; i <= 31; ++i) {
  74.         ll ad = C(2 * i + 1, i);
  75.         if (sh) {
  76.             cout << "i ad = " << i << ' ' << ad << "\n";
  77.         }
  78.         dp[i] = dp[i - 1] + ad;
  79.         dp[i] %= mod;
  80.     }
  81.     if (sh) {
  82.         cout << "dp\n";
  83.         cvl(dp);
  84.     }
  85.     for (int go = 0; go < t; ++go) {
  86.         cin >> n;
  87.         ll A = dp[n / 2 - 1], B = 0;
  88.         if (n > 2) B = dp[n / 2 - 2];
  89.         cout << A << ' ' << B << ' ' << 1 << "\n";
  90.     }
  91. }
  92.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement