Submission #1293909

#TimeUsernameProblemLanguageResultExecution timeMemory
1293909ayxanesedzade10Kangaroo (CEOI16_kangaroo)C++20
0 / 100
1 ms568 KiB
#include <bits/stdc++.h> #define ll long long #define pb push_back #define all(x) x.begin(),x.end() #define ld long double using namespace std; const ll sz=1e5+100; const ll mod=1e9+7; int main() { ll n,cs,cf;cin>>n>>cs>>cf; ll dp[n+5][n+5][2]; for(int i=0;i<n+5;i++){ for(int j=0;j<n+5;j++){ dp[i][j][0]=dp[i][j][1]=0; } } dp[0][cs][0]=1;dp[0][cs][1]=1; for(int i=1;i<n;i++){ for(int j=1;j<=n;j++){ if(j==cs) continue; if(i!=n-1 and j==cf) continue; dp[i][j][0]=0;dp[i][j][1]=0; for(int k=1;k<j;k++){ dp[i][j][1]+=dp[i-1][k][0];dp[i][j][1]%=mod; } for(int k=j+1;k<=n;k++){ dp[i][j][0]+=dp[i-1][k][1];dp[i][j][0]%=mod; } } } cout<<(dp[n-1][cf][0]+dp[n-1][cf][1])%mod<<endl; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...