Cod sursa(job #1671862)

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

int n, s;
int dp[nmax][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[1][0] = 1;

    for(int i=2; i<=n; i++) {

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

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

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

    return 0;
}