제출 #491637

#제출 시각아이디문제언어결과실행 시간메모리
491637inluminas캥거루 (CEOI16_kangaroo)C++14
100 / 100
45 ms31856 KiB
#include"bits/stdc++.h" using namespace std; #define ll long long #define endl "\n" #define fastio ios_base::sync_with_stdio(false) #define inf LLONG_MAX const ll mod=1e9+7; const int lmt=2e3+10; ll dp[lmt][lmt]; int main(){ fastio; int n,cs,cf; cin>>n>>cs>>cf; if(cs>cf) swap(cs,cf); dp[1][1]=1; int blok=(1==cs || 1==cf); for(int i=1;i<n;i++){ if(i+1==cs || i+1==cf) blok++; for(int j=1;j<=n;j++){ if(i+1==cs || i+1==cf){ dp[i+1][j]=(dp[i+1][j]+dp[i][j])%mod; dp[i+1][j+1]=(dp[i+1][j+1]+dp[i][j])%mod; continue; } dp[i+1][j+1]=(dp[i+1][j+1]+(dp[i][j]*(j+1-blok))%mod)%mod; if(j-1>0) dp[i+1][j-1]=(dp[i+1][j-1]+(dp[i][j]*(j-1))%mod)%mod; } } cout<<dp[n][1]<<endl; 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...