Cod sursa(job #844190)

Utilizator visanrVisan Radu visanr Data 28 decembrie 2012 21:57:55
Problema 1-sir Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.62 kb
#include <cstdio>
#include <cstdlib>
#include <cmath>
using namespace std;

#define modulo 194767

int N, S, Dp[256 * 256], crtSum;

int main()
{
    freopen("1-sir.in", "r", stdin);
    freopen("1-sir.out", "w", stdout);
    int i, j;
    scanf("%i %i", &N, &S);
    if(abs(S) > N * (N - 1) / 2)
    {
        printf("0\n");
        return 0;
    }else S = N * (N - 1) / 2 - S;
    for(Dp[0] = 1, i = 2; i <= N; crtSum += 2 * (N - i + 1), i ++)
        for(j = crtSum; j >= 0; j--)
            Dp[j + 2 * (N - i + 1)] = (Dp[j + 2 * (N - i + 1)] + Dp[j]) % modulo;
    printf("%i\n", Dp[S]);
    return 0;
}