Cod sursa(job #406685)

Utilizator vladiiIonescu Vlad vladii Data 1 martie 2010 18:57:52
Problema 1-sir Scor 50
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.85 kb
#include <iostream>
#include <fstream>
using namespace std;
#define MOD 194767
#define pr 65280 //255*256

int N, S;
int Pos[2][pr+2];

int abs(int k) {
    if(k>=0) return k;
    else return -k;
}

int main() {
    fstream f1, f2;
    int i, j, p, q;
    f1.open("1-sir.in", ios::in);
    f1>>N>>S;
    f1.close();
    f2.open("1-sir.out", ios::out);
    if(S>pr) { f2<<0<<endl; }
    else {
         Pos[0][0]=1;
         for(i=2; i<=N; i++) {
              for(j=0; j<=pr; j++) {
                   //cite siruri de lungime i cu suma j exista ?
                   Pos[1][j] = (Pos[0][abs(j-i+1)] + Pos[0][abs(j+i-1)]) % MOD;
              }
              for(j=0; j<=pr; j++) {
                   Pos[0][j]=Pos[1][j]; Pos[1][j]=0;
              }
         }
         f2<<Pos[0][abs(S)]<<endl;
    }
    f2.close();
    return 0;
}