Cod sursa(job #2401399)

Utilizator Lazar_LaurentiuLazar Laurentiu Lazar_Laurentiu Data 9 aprilie 2019 18:03:21
Problema Diamant Scor 60
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.71 kb
#include <iostream>
#include <fstream>
#define MAX 44110
#define VMAX 44100
#define MOD 10000

using namespace std;

int n,m,x,ia,ii;
int ans[2*MAX][2];
#define ans (ans+44100)

int main()
{
    ifstream f ("diamant.in");
    ofstream g ("diamant.out");
    f>>n>>m>>x;
    ans[0][1]=ia=1;
    for(int i=1;i<=n;i++)
      for(int j=1;j<=m;j++){
        ia=!ia; ii=!ii;
        for(int k=-VMAX;k<=VMAX;k++){
          ans[k][ia]=ans[k][ii]+ans[k-i*j][ii]+ans[k+i*j][ii];
          while(ans[k][ia]>MOD)ans[k][ia]-=MOD;
        }
      }
    if(x<-VMAX||x>VMAX)g<<"0\n";
    else g<<ans[x][ia]<<'\n';
    f.close ();
    g.close ();
    return 0;
}

	
//int A[201];
//#define A (A + 100)