Pagini recente » Monitorul de evaluare | Cod sursa (job #271679) | Cod sursa (job #821441) | Cod sursa (job #2807568) | Cod sursa (job #44864)
Cod sursa(job #44864)
# include <stdio.h>
# include <string.h>
# define _fin "matrix.in"
# define _fout "matrix.out"
# define maxn 1001
# define sigma 'z'
int n, m, i, j, f[sigma], f2[sigma], aux, sol, o[maxn][maxn], t[maxn][maxn];
char a[maxn][maxn], b[maxn][maxn], c;
void readf()
{
freopen(_fin, "r", stdin);
for (scanf("%d%d", &n, &m), i=1; i<=n; i++) scanf("%s", a[i]+1);
for (i=1; i<=m; i++) {
scanf("%s", b[i]+1);
for (j=1; j<=m; j++) ++f[b[i][j]];
}
}
void solve()
{
for (i=1; i+m-1<=n; i++)
for (j=1; j+m-1<=n; j++)
{
int ii, jj;
memset(f2, 0, sizeof(f2));
for (ii=i; ii<=i+m-1; ii++)
for (jj=j; jj<=j+m-1; jj++)
++f2[ a[ii][jj] ];
for (c='a', ii=1; c<='z' && ii; c++)
ii = ( f[c]==f2[c] );
sol += ii;
}
}
int main()
{
readf();
solve();
fprintf(fopen(_fout,"w"), "%d\n", sol);
return 0;
}