이 제출은 이전 버전의 oj.uz에서 채점하였습니다. 현재는 제출 당시와는 다른 서버에서 채점을 하기 때문에, 다시 제출하면 결과가 달라질 수도 있습니다.
#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 time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |