Pagini recente » Cod sursa (job #3240227) | Cod sursa (job #3245269) | Cod sursa (job #2375903) | Cod sursa (job #1397854) | Cod sursa (job #42922)
Cod sursa(job #42922)
#include <stdio.h>
#define MOD 3210121
int E[40][40], N, S, K, V[40], Sol;
int q(){
int i, j, num, num0;
for (i = 1; i <= N; i++) { num = num0 = 0;
for (j = 1; j <= K; j++){
if (V[j] >= E[i][j]) num++;
num0 += (V[j]>0); }
if (num == K || num0 < 2) return 0; }
return 1;
}
void back(int nv, int sum)
{
int i;
if (nv == K+1)
{
Sol = (Sol+q())%MOD;
return;
}
for (i = 0; i <= S; i++) {
if (sum+i > S) return;
V[nv] = i; back(nv+1, sum+i); }
}
int main()
{
int i, j;
freopen("cowfood.in", "r", stdin);
scanf("%d %d %d", &K, &S, &N);
for (i = 1; i <= N; i++)
for (j = 1; j <= K; j++) scanf("%d", E[i]+j);
back(1,0);
freopen("cowfood.out", "w", stdout);
printf("%d\n", Sol);
return 0;
}