Pagini recente » Cod sursa (job #2215299) | Cod sursa (job #1790769) | Cod sursa (job #485744) | Cod sursa (job #1409980) | Cod sursa (job #783953)
Cod sursa(job #783953)
#include <fstream>
#define DIM 110
#define MOD 666013
using namespace std;
int A[5*DIM], B[5*DIM], C[DIM];
int S[DIM][5*DIM][5*DIM];
int N, M, K, i, j, k, ii, jj, sol;
int main() {
ifstream f("pedefe.in");
ofstream g("pedefe.out");
f>>N>>M>>K;
for (i=1;i<=N;i++)
f>>A[i];
for (i=1;i<=M;i++)
f>>B[i];
for (i=1;i<=K;i++)
f>>C[i];
S[0][0][0] = 1;
for (k=1;k<=K;k++) {
for (i=1;i<=N;i++)
for (j=1;j<=M;j++)
if (A[i] == B[j] && A[i] == C[k]) {
// S[k][i][j] = 1;
for (ii = 0; ii<i;ii++)
if (A[ii] <= A[i])
for (jj=0;jj<j;jj++) {
S[k][i][j] += S[k-1][ii][jj];
if (S[k][i][j] >= MOD)
S[k][i][j] -= MOD;
}
} else
if (A[i] == B[j])
//S[k-1][i][j] = 0;
for (ii = 0; ii<i;ii++)
if (A[ii] <= A[i])
for (jj=0;jj<j;jj++) {
S[k-1][i][j] += S[k-1][ii][jj];
if (S[k-1][i][j] >= MOD)
S[k-1][i][j] -= MOD;
}
}
for (i=1;i<=N;i++)
for (j=1;j<=M;j++) {
sol += S[K][i][j];
if (sol >= MOD)
sol -= MOD;
}
g<<sol<<"\n";
return 0;
}