Pagini recente » Cod sursa (job #1592647) | Cod sursa (job #1383261) | Cod sursa (job #573831) | Cod sursa (job #870833) | Cod sursa (job #1126463)
#include<stdio.h>
#define NMAX 1002
int f[2][NMAX][NMAX][27];
char aux[NMAX];
void calc(int n,int tip)
{
int i,j,l;
for(i=1;i<=n;++i)
{
scanf("%s\n",aux+1);
for(j=1;j<=n;++j)
{
for(l=0;l<=25;++l)
f[tip][i][j][l]=f[tip][i-1][j][l]+f[tip][i][j-1][l]-f[tip][i-1][j-1][l];
++f[tip][i][j][aux[j]-'a'];
}
}
}
int main()
{
freopen("matrix.in","r",stdin);
freopen("matrix.out","w",stdout);
int n,m,i,j,l,sol=0;
scanf("%d%d\n",&n,&m);
calc(n,0);
calc(m,1);
for(i=m;i<=n;++i)
{
for(j=m;j<=n;++j)
{
for(l=0;l<=25;++l)
if(f[1][m][m][l] != f[0][i][j][l]-f[0][i-m][j][l]-f[0][i][j-m][l]+f[0][i-m][j-m][l] )
break;
if(l==26)
++sol;
}
}
printf("%d\n",sol);
return 0;
}