Cod sursa(job #1845609)

Utilizator BugirosRobert Bugiros Data 11 ianuarie 2017 18:28:47
Problema 1-sir Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.76 kb
#include <fstream>
using namespace std;

ifstream in("1-sir.in");
ofstream out("1-sir.out");

const int MAXN = 257;
const int MAXS = MAXN * (MAXN - 1);
const int MODULO = 194767;

int n,s;

int d[MAXN][MAXS];

inline int modul(int x)
{
    return (x >= 0)?x:-x;
}

void dinamica()
{
    d[1][0] = 1;
    for (int i = 2;i <= n;++i)
    {
        int lim = i * (i - 1) / 2;
        for (int j = 0;j <= lim;++j)
            d[i][j] = (d[i - 1][modul(j - (i - 1))] +
                      d[i - 1][modul(j + (i - 1))]) % MODULO;
    }
}

int main()
{
    in >> n >> s;
    if (s < 0)
        s = -s;
    if (n * (n - 1) / 2 < s)
    {
        out << "0\n";
        return 0;
    }
    dinamica();
    out << d[n][s];
    return 0;
}