제출 #127636

#제출 시각아이디문제언어결과실행 시간메모리
127636TadijaSebez캥거루 (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;
}

컴파일 시 표준 에러 (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...