Pagini recente » Cod sursa (job #2146068) | Cod sursa (job #1278663) | Cod sursa (job #2415282) | Cod sursa (job #2526420) | Cod sursa (job #2187418)
#include <iostream>
#include <fstream>
using namespace std;
ifstream fin("diamant.in");
ofstream fout("diamant.out");
int n, m, s, N, num, st[500];
int valid(int k)
{
return 1;
}
int solutie(int k)
{
return (N==k);
}
void tipar(int k)
{
long long sum=0;
for(int i=1;i<=k;i++)
{
if(st[i]!=0)
{
long long I=i/m;
if(i%m!=0)
I++;
long long J=i%m;
if(J==0)
J=m;
if(st[i]==-1)
sum-=I*J;
else
if(st[i]==1)
sum+=I*J;
}
}
if(sum==s){
// for(int i=1;i<=k;i++)
// cout<<st[i]<<" ";
// cout<<endl;
num++;
num%=10000;
}
}
void bk(int k)
{
for(int i=-1;i<=1;i++)
{
st[k]=i;
if(valid(k))
if(solutie(k))
tipar(k);
else
bk(k+1);
}
}
int main()
{
fin>>n>>m>>s;
N=n*m;
bk(1);
fout<<num;
return 0;
}