제출 #504035

#제출 시각아이디문제언어결과실행 시간메모리
504035pokmui9909Kangaroo (CEOI16_kangaroo)C++17
100 / 100
21 ms22980 KiB
#include <bits/stdc++.h> using namespace std; using ll = long long; const ll MOD = 1e9 + 7; ll D[2005][2005]; ll N, S, E; void add(ll &x, ll y){ y %= MOD; x += y; x %= MOD; } int main(){ cin.tie(0) -> sync_with_stdio(false); cin >> N >> S >> E; ll C = 0; D[0][0] = 1; for(int i = 1; i <= N; i++){ for(int j = 1; j <= i; j++){ if(i == S || i == E){ add(D[i][j], D[i - 1][j] + D[i - 1][j - 1]); } else { add(D[i][j], D[i - 1][j + 1] * j + D[i - 1][j - 1] * (j - C)); } } if(i == S || i == E){ C++; } } cout << D[N][1]; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...