Cod sursa(job #1105526)

Utilizator Athena99Anghel Anca Athena99 Data 11 februarie 2014 20:54:46
Problema 1-sir Scor 10
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.67 kb
#include <fstream>

using namespace std;

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

const int mod= 194677;
const int nmax= 256;

int d[2][nmax*(nmax-1)/2+1];

int main(  ) {
    int n, s, k= 1;
    fin>>n>>s;
    if ( s>n*(n-1)/2 || s<-1*n*(n-1)/2 ) {
        fout<<"0\n";
        return 0;
    }

    d[1][0]= 1;
    for ( int i= 2; i<=n; ++i, k^= 1 ) {
        for ( int j= 0; j<=n*(n-1)/2; ++j ) {
            d[k^1][j]= d[k][i+j-1];
            if ( j>i-1 ) {
                d[k^1][j]+= d[k][j-i+1];
            } else {
                d[k^1][j]+= d[k][i-j-1];
            }
            d[k^1][j]%= mod;
        }
    }
    fout<<d[k][s]<<"\n";

    return 0;
}