Submission #559564

# Submission time Handle Problem Language Result Execution time Memory
559564 2022-05-10T08:03:11 Z Pherokung Kangaroo (CEOI16_kangaroo) C++14
0 / 100
1 ms 212 KB
#include<bits/stdc++.h>
using namespace std;
#define N 2005
#define ll long long
const int mod = 1e9+7;
int n,cs,cf,del;
ll dp[N][N],ans;
int main(){
	scanf("%d%d%d",&n,&cs,&cf);
	
	dp[1][1] = 1;
	for(int idx=2;idx<=n;idx++){
		for(int comp=1;comp<=idx;comp++){
			if(idx == cs || idx == cf){
				dp[idx][comp] += dp[idx-1][comp] + dp[idx-1][comp-1];
				del++;
			}
			else{
				dp[idx][comp] += dp[idx-1][comp-1] * (comp - del);	
				dp[idx][comp] += dp[idx-1][comp+1] * (comp);
			}
//			printf("?? %d %d : %lld\n",idx,comp,dp[idx][comp]);
			dp[idx][comp] %= mod;
		}
	}
	
	printf("%lld",dp[n][1]);
}

Compilation message

kangaroo.cpp: In function 'int main()':
kangaroo.cpp:9:7: warning: ignoring return value of 'int scanf(const char*, ...)' declared with attribute 'warn_unused_result' [-Wunused-result]
    9 |  scanf("%d%d%d",&n,&cs,&cf);
      |  ~~~~~^~~~~~~~~~~~~~~~~~~~~
# Verdict Execution time Memory Grader output
1 Correct 0 ms 212 KB Output is correct
2 Incorrect 1 ms 212 KB Output isn't correct
3 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 0 ms 212 KB Output is correct
2 Incorrect 1 ms 212 KB Output isn't correct
3 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 0 ms 212 KB Output is correct
2 Incorrect 1 ms 212 KB Output isn't correct
3 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 0 ms 212 KB Output is correct
2 Incorrect 1 ms 212 KB Output isn't correct
3 Halted 0 ms 0 KB -