제출 #1346336

#제출 시각아이디문제언어결과실행 시간메모리
1346336StefanSebez캥거루 (CEOI16_kangaroo)C++20
100 / 100
15 ms31864 KiB
#include<bits/stdc++.h>
using namespace std;
#define fi first
#define se second
#define pb push_back
#define ll long long
const int N=2010,mod=1e9+7;
int n,a,b;
ll dp[N][N];
int main(){
    scanf("%i%i%i",&n,&a,&b);
    dp[0][0]=1;
    for(int i=1;i<=n;i++)for(int j=1;j<=n;j++){
        if(i==a){
            dp[i][j]=dp[i-1][j]+dp[i-1][j-1];
        }
        else if(i==b){
            dp[i][j]=dp[i-1][j]+dp[i-1][j-1];
        }
        else{
            dp[i][j]=j*dp[i-1][j+1]+(j-(i>=a)-(i>=b))*dp[i-1][j-1];
        }
        dp[i][j]%=mod;
    }
    printf("%lld\n",dp[n][1]);
    return 0;
}

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

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