Cod sursa(job #1489501)

Utilizator sddddgjdZloteanu Anastasia sddddgjd Data 21 septembrie 2015 12:14:30
Problema 1-sir Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.7 kb
#include<stdio.h>
#define MAX 32640
int d[2][MAX*2];
inline int abs(int nr){
    if(nr<0)
        return -nr;
    return nr;
}
int main(){
    freopen("1-sir.in","r",stdin);
    freopen("1-sir.out","w",stdout);
    int n,s;
    scanf("%d%d",&n,&s);
    int i,lin=1,max=n*(n-1)/2;
    d[0][0]=1;
    for(i=2;i<=n;i++){
        int j;
        for(j=0;j<=max;j++){
            d[lin][j]=d[(1-lin)][j+(i-1)]+d[(1-lin)][abs(j-(i-1))];
            if(d[lin][j]>=194767)
                d[lin][j]-=194767;
        }
        for(j=0;j<=max;j++)
            d[(1-lin)][j]=0;
        lin=(1-lin);
    }
    if(s<0)
        s=-s;
    if(s<=max)
        printf("%d",d[(1-lin)][s]);
    else
        printf("0");
    return 0;
}