Pagini recente » Cod sursa (job #563435) | Cod sursa (job #1725273) | Cod sursa (job #2279094) | Cod sursa (job #1096982) | Cod sursa (job #1282650)
#include <fstream>
using namespace std;
ifstream fin("matrix.in");
ofstream fout("matrix.out");
int a[1001][1001],b[1001][1001],n,m,i,j,v[27],C[1001][1001],c,nr,OK;
char x;
int main(){
fin>>n>>m;
for(i=1;i<=n;i++)
for(j=1;j<=n;j++)
{
fin>>x;
a[i][j]=x-'a';
}
for(i=1;i<=m;i++)
for(j=1;j<=m;j++)
{
fin>>x;
v[x-'a']++;
}
for(c=0;c<=26;c++)
for(i=1;i<=n;i++)
for(j=1;j<=n;j++)
{
OK=0;
if(a[i][j]==c)
OK=1;
b[i][j]=b[i-1][j]+b[i][j-1]-b[i-1][j-1]+OK;
if(i>=m&&j>=m&&b[i][j]-b[i-m][j]-b[i][j-m]+b[i-m][j-m]==v[c])
C[i][j]++;
}
for(i=m;i<=n;i++)
for(j=m;j<=n;j++)
if(C[i][j]==27)
nr++;
fout<<nr;
return 0;
}