(UPD: 2024-12-04 14:48 UTC) Judge is not working due to Cloudflare incident. (URL) We can do nothing about it, sorry. After the incident is resolved, we will grade all submissions.

Submission #444299

#TimeUsernameProblemLanguageResultExecution timeMemory
444299ajpianoKangaroo (CEOI16_kangaroo)C++17
100 / 100
34 ms31644 KiB
#include <bits/stdc++.h> using namespace std; #define f first #define s second typedef long long ll; typedef pair<int, int> pi; const ll mod = 1e9+7; int main(){ ios_base::sync_with_stdio(0); cin.tie(0); int n, cs, cf; cin >> n >> cs >> cf; ll dp[n+1][n+1]; for(int i = 0; i <= n; i++) for(int j = 0; j <= n; j++) dp[i][j] = 0; dp[1][1] = 1; for(int i = 2; i <= n; i++){ for(ll j = 1; j <= n-1; j++){ if(i == cs || i == cf){ dp[i][j] = dp[i-1][j] + dp[i-1][j-1]; if(dp[i][j] >= mod) dp[i][j] -= mod; }else{ dp[i][j] = j*dp[i-1][j+1] + (j - (ll)(i > cs) - (ll)(i > cf))*dp[i-1][j-1]; dp[i][j] %= mod; } } } cout << dp[n][1] << "\n"; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...