Cod sursa(job #2064710)

Utilizator Liviu_Ionut_MoantaMoanta Ionut Liviu Liviu_Ionut_Moanta Data 12 noiembrie 2017 18:21:56
Problema Diamant Scor 90
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.83 kb
#include<fstream>
using namespace std;
ifstream fin("diamant.in");
ofstream fout("diamant.out");
int n,m,x,i,j,k,val;
int sol[2][100005];
int main(){
    fin>>n>>m>>x;
    val=1;
    sol[0][44101]=1;
    for(i=1;i<=n;i++){
        for(j=1;j<=m;j++){
            for(k=0;k<=88202;k++){
                if(sol[1-val][k]!=0){
                    sol[val][k]=(sol[val][k]+sol[1-val][k])%10000;
                    if(k+i*j<=88202){
                        sol[val][k+i*j]=(sol[val][k+i*j]+sol[1-val][k])%10000;
                    }
                    if(k>=i*j){
                        sol[val][k-i*j]=(sol[val][k-i*j]+sol[1-val][k])%10000;
                    }
                    sol[1-val][k]=0;
                }
            }
            val=1-val;
        }
    }
    fout<<sol[1-val][x+44101];
    return 0;
}