Submission #490700

# Submission time Handle Problem Language Result Execution time Memory
490700 2021-11-28T19:53:02 Z mihh Kangaroo (CEOI16_kangaroo) C++17
0 / 100
0 ms 204 KB
#include <bits/stdc++.h>
using namespace std;
/*
  tutorial :
  https://codeforces.com/blog/entry/47764
  (ctrl f it)
  N celule 1->n
  cangur celula cs
  sare in alta celula
  se opreste in celula cf
  n-1 sarituri arbritare
  schimba directia in care sare
*/

int n, cf, cs;

const int MOD=1e9+7, N=2e3+1;

int add(int x, int y){
    return (x+y)%MOD;
}
int mul(int x, int y){
    return (1LL*x*y)%MOD;
}

int dp[N][N];

int main(){
    ifstream fin("kangaroo.in");
    ofstream fout("kangaroo.out");
    fin>>n>>cs>>cf;
    fin.close();
    dp[0][0]=1;
    for(int i=1; i<=n; ++i){
        for(int c=1;c<=i;++c){
            if(!(i==cs or i==cf)){
                dp[i][c]=add(
                    mul(dp[i-1][c-1], c-(i>cs)-(i>cf)),
                    mul(dp[i-1][c+1], c)
                );
            }else{
                dp[i][c]=add(dp[i-1][c-1],dp[i-1][c]);
            }
        }
    }
    int ans=dp[n][1];
    fout<<ans;
}
# Verdict Execution time Memory Grader output
1 Incorrect 0 ms 204 KB Output isn't correct
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 0 ms 204 KB Output isn't correct
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 0 ms 204 KB Output isn't correct
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 0 ms 204 KB Output isn't correct
2 Halted 0 ms 0 KB -