제출 #1139208

#제출 시각아이디문제언어결과실행 시간메모리
1139208I_FloPPed21캥거루 (CEOI16_kangaroo)C++20
100 / 100
16 ms23108 KiB
#include <iostream>

using namespace std;
const int N=2001;
const long long mod=1e9+7;
int n,st,fin;
long long dp[N][N];
int main()
{
    ios::sync_with_stdio(0);
    cin.tie(0);
    cout.tie(0);
    dp[1][1]=1;
    cin>>n>>st>>fin;
    for(int i=2;i<=n;i++)
    {
        for(int j=1;j<=i;j++)
        {
            if(i==st||i==fin)
            {
                dp[i][j]=(dp[i-1][j]+dp[i-1][j-1])%mod;
            }
            else
            {
                dp[i][j]=((dp[i-1][j-1]*(j-(i>st)-(i>fin)))%mod)+(dp[i-1][j+1]*j)%mod;
                dp[i][j]%=mod;
            }
        }
    }
    cout<<dp[n][1]<<'\n';

    return 0;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...