Cod sursa(job #1671872)

Utilizator harababurelPuscas Sergiu harababurel Data 2 aprilie 2016 11:16:41
Problema 1-sir Scor 80
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.8 kb
#include <bits/stdc++.h>
#define nmax 260
using namespace std;

int n, s;
int dp[2][nmax*nmax];

int main() {
    ifstream f("1-sir.in");
    ofstream g("1-sir.out");

    f>>n>>s;

    s = abs(s);
    int maxS = n * (n-1) / 2;

    if(s > maxS) {
        g<<"0\n";
        return 0;
    }

    dp[0][0] = 1;
    for(int i=2; i<=n; i++) {
        for(int targetS=0; targetS <= maxS; targetS++)
            dp[1][targetS] = (dp[0][abs(targetS - (i-1))] + dp[0][abs(targetS + (i-1))]) % 194767;
        for(int targetS=0; targetS <= maxS; targetS++)
            dp[0][targetS] = dp[1][targetS];
    }

    /*
    for(int i=1; i<=n; i++) {
        for(int targetS=0; targetS <= maxS; targetS++) {
            cout<<dp[i][targetS]<<" ";
        }
        cout<<"\n";
    }
    */

    g<<dp[1][s]<<"\n";

    return 0;
}