Submission #785370

#TimeUsernameProblemLanguageResultExecution timeMemory
785370iskhakkutbilimKangaroo (CEOI16_kangaroo)C++14
0 / 100
0 ms212 KiB
#include <bits/stdc++.h> using namespace std; #define int long long #define ff first #define ss second #define all(a) a.begin(), a.end() const int mod = 1e9 + 7; void add_self(int &a, int b){ a+= b; if(a < 0) a+= mod; if(a >= mod) a-= mod; } int mul(int a, int b){ return (a * b) % mod; } int dp[2100][2100]; main(){ ios::sync_with_stdio(0); cin.tie(0); cout.tie(0); ifstream cin("kangaroo.in"); ofstream cout("kangaroo.out"); int n, a, b; cin >> n >> a >> b; dp[1][1] = 1; for(int i = 2;i <= n; i++){ for(int j = 1;j <= n; j++){ if(i == a || b == i){ add_self(dp[i][j], dp[i-1][j-1]); add_self(dp[i][j], dp[i-1][j]); }else{ add_self(dp[i][j], mul(dp[i-1][j+1], j)); add_self(dp[i][j], mul(dp[i-1][j-1], j - (i > a) - (i > b))); } } } cout << dp[n][1]; return 0; }

Compilation message (stderr)

kangaroo.cpp:21:1: warning: ISO C++ forbids declaration of 'main' with no type [-Wreturn-type]
   21 | main(){
      | ^~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...