Submission #1325878

#TimeUsernameProblemLanguageResultExecution timeMemory
1325878kareemessamKangaroo (CEOI16_kangaroo)C++20
0 / 100
7 ms16184 KiB
#include <bits/stdc++.h> // #include "debug.h" using namespace std; using ll = long long; using ld = long double; const int N = 2e3 + 5 , M = 1e9 + 7; int add(ll a , int b) { return (a + b + M) % M; } int mul(ll a , int b) { return a * b % M; } int dp[N][N] , st , en , n; int solve(int i , int j) { if (j < 0) return 0; if (i == n) return j == 1; auto &ret = dp[i][j]; if (~ret) return ret; ret = 0; // forced one position if (i == st || i == en) { ret = add(ret , solve(i + 1 , j)); ret = add(ret , solve(i + 1 , j + 1)); } else { // start a new comp ret = add(ret , mul(j + 1 , solve(i + 1 , j + 1))); if (j >= 2) // merge two comps ret = add(ret , mul(j - 1 , solve(i + 1 , j - 1))); } return ret; } void solve() { cin >> n >> st >> en; st-- , en--; cout << solve(0 , 0); } signed main() { ios_base::sync_with_stdio(0); cin.tie(nullptr); freopen("kangaroo.in" , "r" , stdin); freopen("kangaroo.out" , "w" , stdout); memset(dp, -1, sizeof dp); int tc = 1; // cin >> tc; while (tc--) solve(); }

Compilation message (stderr)

kangaroo.cpp: In function 'int main()':
kangaroo.cpp:58:12: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)' declared with attribute 'warn_unused_result' [-Wunused-result]
   58 |     freopen("kangaroo.in" , "r" , stdin);
      |     ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
kangaroo.cpp:59:12: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)' declared with attribute 'warn_unused_result' [-Wunused-result]
   59 |     freopen("kangaroo.out" , "w" , stdout);
      |     ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...