Cod sursa(job #842225)

Utilizator ard_procesoareLupicu ard_procesoare Data 26 decembrie 2012 14:52:44
Problema Diamant Scor 20
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.65 kb
//Forta Bruta
#include <fstream>
using namespace std;
ifstream fin("diamant.in");
ofstream fout("diamant.out");
#define NMAX 400000005
int v[NMAX],n,m,x,lg=1;
void push(int val);
void solve();
int main()
{
    fin>>n>>m>>x;
    v[1]=0;
    int i,j;
    for(i=1;i<=n;i++)
        for(j=1;j<=m;j++)
            push(i*j);
    solve();
    return 0;
}
void push(int val)
{
    int i,s2=lg*3,s1=lg*2;
    for(i=lg+1;i<=s1;i++)
        v[i]=v[i-lg]+val;
    for(i=s1+1;i<=s2;i++)
        v[i]=v[i-s1]-val;
    lg*=3;
}
void solve()
{
    int i,sol=0;
    for(i=1;i<=lg;i++)
    {
        if(v[i]==x) sol++;
    }
    fout<<sol;
}