Cod sursa(job #636522)

Utilizator Catah15Catalin Haidau Catah15 Data 19 noiembrie 2011 21:02:38
Problema Dirichlet Scor 0
Compilator cpp Status done
Runda .com 2011 Marime 0.56 kb
#include <iostream>
#include <cstdio>

using namespace std;

#define maxN 1005
#define MOD 9999991

int dp[maxN][maxN];

int main()
{
	freopen ("dirichlet.in", "r", stdin);
	freopen ("dirichlet.out", "w", stdout);
	
	int N;
	
	scanf ("%d", &N);
	
	for (int i = 0; i <= N; ++ i) dp[i][1] = 1;
	
	for (int i = 1; i <= N; ++ i)
		for (int j = 2; j <= N; ++ j)
		{
			dp[i][j] = 0;
			for (int t = 0; t <= j && i - t >= 0; ++ t) dp[i][j] += dp[i - t][j - 1];
			
			dp[i][j] %= MOD;
		}
	
	printf ("%d", dp[N][N] - dp[N][N - 1]);
	
	return 0;
}