Pagini recente » Profil lavinia_n | Cod sursa (job #2143069) | Cod sursa (job #1133660) | Cod sursa (job #65520) | Cod sursa (job #557114)
Cod sursa(job #557114)
#include<stdio.h>
#include<string.h>
#define NMAX 1002
int ap[130];
char a[NMAX][NMAX];
int t[NMAX][NMAX];
char r[NMAX][NMAX];
char s[NMAX];
int main()
{
freopen("matrix.in","r",stdin);
freopen("matrix.out","w",stdout);
int n,m,l,rez=0;
int i,j;
scanf("%d %d\n",&m,&n);
for (i=1;i<=m;i++){
gets(s);
strcpy(a[i],"0");
strcat(a[i],s);
}
for (i=1;i<=n;i++){
gets(s);
for (j=0;j<n;j++)
ap[s[j]]++;
}
for (l='a';l<='z';l++)
for (i=1;i<=m;i++)
for (j=1;j<=m;j++){
t[i][j]=t[i][j-1]+t[i-1][j]-t[i-1][j-1];
if (a[i][j]==l) t[i][j]++;
if (i>=n && j>=n){
if (t[i][j]-t[i-n][j]-t[i][j-n]+t[i-n][j-n]!=ap[l])
r[i][j]=1;
}
}
for (i=n;i<=m;i++)
for (j=n;j<=m;j++)
if (r[i][j]==0)
rez++;
printf("%d",rez);
return 0;
}