Cod sursa(job #1992261)
Utilizator | Data | 19 iunie 2017 23:51:38 | |
---|---|---|---|
Problema | Diamant | Scor | 10 |
Compilator | cpp | Status | done |
Runda | Arhiva de probleme | Marime | 0.62 kb |
#include <bits/stdc++.h>
#define MOD 10000
using namespace std;
ifstream f("diamant.in");
ofstream g("diamant.out");
int w[MOD+5];
int a[2][MOD+5];
int main()
{
int n,m,x,i,j,k;
f>>n>>m>>x;
k=0;
for(i=1;i<=n;i++)
for(j=1;j<=m;j++)
w[++k]=i*j;
int c1=0,c2=1;
for(i=1;i<=k;i++)
{
c2=c1;
c1=1-c1;
for(j=1;j<=x;j++)
{
a[c1][j]=a[c2][j];
if(j-w[i]<0) continue;
if(a[c2][j-w[i]]+1>a[c1][j])
a[c1][j]=(a[c2][j-w[i]]+1)%MOD;
}
}
g<<a[c1][x];
return 0;
}