Pagini recente » Cod sursa (job #1004926) | Cod sursa (job #99045) | Cod sursa (job #188660) | Cod sursa (job #3186160) | Cod sursa (job #1706635)
#include<fstream>
#include<cstring>
using namespace std;
ifstream f("matrix.in");
ofstream g("matrix.out");
int m,n,F[130],v[1005][1005],sol,i,j;
bool b[1005][1005];
char s[1005],c[1005][1005];
int main()
{
f>>m>>n;
for(i=1;i<=m;i++)
f>>c[i]+1;
for(i=1;i<=n;i++)
{
f>>s+1;
for(j=1;j<=n;j++)
F[s[j]]++;
}
for(char k='a';k<='z';k++)
{
memset(v,0,sizeof(v));
for(i=1;i<=m;i++)
for(j=1;j<=m;j++)
v[i][j]=v[i-1][j]+v[i][j-1]-v[i-1][j-1]+(c[i][j]==k);
for(i=n;i<=m;i++)
for(j=n;j<=m;j++)
if(F[k]!=v[i][j]+v[i-n][j-n]-v[i-n][j]-v[i][j-n])
b[i][j]=1;
}
for(i=n;i<=m;i++)
for(j=n;j<=m;j++)
if(b[i][j]==0)
sol++;
g<<sol;
return 0;
}