(UPD: 2024-12-04 14:48 UTC) Judge is not working due to Cloudflare incident. (URL) We can do nothing about it, sorry. After the incident is resolved, we will grade all submissions.

Submission #127636

#TimeUsernameProblemLanguageResultExecution timeMemory
127636TadijaSebezKangaroo (CEOI16_kangaroo)C++11
100 / 100
32 ms15992 KiB
#include <bits/stdc++.h> using namespace std; #define ll long long const int N=2005; const int mod=1e9+7; int add(int x, int y){ x+=y;return x>=mod?x-mod:x;} int mul(int x, int y){ return (ll)x*y%mod;} int dp[N][N]; int main() { int n,cs,cf; scanf("%i %i %i",&n,&cs,&cf); dp[0][0]=1; for(int i=1;i<=n;i++) for(int j=1;j<=n;j++) { if(i==cs || i==cf) dp[i][j]=add(dp[i-1][j-1],dp[i-1][j]); else dp[i][j]=add(mul(dp[i-1][j+1],j),mul(dp[i-1][j-1],j-(i>cs)-(i>cf))); } printf("%i\n",dp[n][1]); return 0; }

Compilation message (stderr)

kangaroo.cpp: In function 'int main()':
kangaroo.cpp:12:7: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
  scanf("%i %i %i",&n,&cs,&cf);
  ~~~~~^~~~~~~~~~~~~~~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...