제출 #545903

#제출 시각아이디문제언어결과실행 시간메모리
545903rainboyKangaroo (CEOI16_kangaroo)C11
100 / 100
14 ms304 KiB
#include <stdio.h> #include <string.h> #define N 2000 #define MD 1000000007 int main() { static int dp[N], dq[N]; int n, s, f, i, j, k; scanf("%d%d%d", &n, &s, &f), s--, f--; dp[0] = 1, k = 0; for (i = 0; i < n - 1; i++) { memset(dq, 0, n * sizeof *dq); if (i == s || i == f) { k++; for (j = 0; j < n; j++) dq[j] = (dp[j] + (j + 1 == n ? 0 : (long long) dp[j + 1] * (j + 1))) % MD; } else for (j = 0; j < n; j++) dq[j] = ((j + 1 == n ? 0 : (long long) dp[j + 1] * (j + 1) * (j + k)) + (j == 0 ? 0 : dp[j - 1])) % MD; memcpy(dp, dq, n * sizeof *dq); } printf("%d\n", dp[0]); return 0; }

컴파일 시 표준 에러 (stderr) 메시지

kangaroo.c: In function 'main':
kangaroo.c:11:2: warning: ignoring return value of 'scanf' declared with attribute 'warn_unused_result' [-Wunused-result]
   11 |  scanf("%d%d%d", &n, &s, &f), 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...