Cod sursa(job #1405018)

Utilizator mihail.jianuJianu Mihail mihail.jianu Data 28 martie 2015 19:21:27
Problema 1-sir Scor 60
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.82 kb
#include<cstdio>
const int N=256;
const int MOD=194767;
int d[2][N*N+1];
int abs(int x){
    if(x>0)
        return x;
    return-x;
}
int main(){
    freopen("1-sir.in","r",stdin);
    freopen("1-sir.out","w",stdout);
    int n,sum;
    scanf("%d%d",&n,&sum);
    int m=n*(n-1)/2;
    d[0][m]=1;
    for(int i=1;i<n;i++){
        for(int j=0;j<=2*m;j++){
            if(j+i<=2*m){
                d[1][j+i]+=d[0][j];
                if(d[1][j+i]>=MOD)
                    d[1][j+i]-=MOD;
            }
            if(j-i>=0)
                d[1][j-i]+=d[0][j];{
                if(d[1][j-i]>=MOD)
                    d[1][j-i]-=MOD;
            }
        }
        for(int j=0;j<=2*m;j++){
            d[0][j]=d[1][j];
            d[1][j]=0;
        }
    }
    printf("%d",d[0][sum+m]);
    return 0;
}