Submission #552809

#TimeUsernameProblemLanguageResultExecution timeMemory
552809Ai7081캥거루 (CEOI16_kangaroo)C++17
100 / 100
15 ms22996 KiB
#include <bits/stdc++.h> using namespace std; #define long long long const long N = 2005; const long mod = 1e9+7; int n, s, f; long dp[N][N]; int main() { scanf(" %d %d %d", &n, &s, &f); dp[1][1] = 1; for (int i=2; i<=n; i++) { for (int j=1; j<=i; j++) { if (i==s || i==f) dp[i][j] = (dp[i-1][j] + dp[i-1][j-1]) % mod; else dp[i][j] = (j*dp[i-1][j+1] + dp[i-1][j-1]*(j-(i>s)-(i>f))) % mod; } } printf("%lld", dp[n][1]%mod); return 0; }

Compilation message (stderr)

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