Pagini recente » Cod sursa (job #2128677) | Cod sursa (job #1717545) | Diferente pentru problema/captcha intre reviziile 33 si 21 | Cod sursa (job #314453) | Cod sursa (job #3329407)
#include <bits/stdc++.h>
using namespace std;
ifstream fin("matrix.in");
ofstream fout("matrix.out");
const int lim=1e3+5;
int n,m,i,j,f[lim][lim][27],frecva,frecvc,cnt,k,ideal[lim][lim][28],ok;
char t;
int main()
{
fin>>n>>m;
for(i=1;i<=n;i++)
for(j=1;j<=n;j++)
{
fin>>t;
for(k=0;k<=25;k++)
f[i][j][k]=f[i][j][k]+f[i-1][j][k]+f[i][j-1][k]-f[i-1][j-1][k];
f[i][j][t-'a']++;
}
for(i=1;i<=m;i++)
for(j=1;j<=m;j++)
{
fin>>t;
for(k=0;k<=25;k++)
ideal[i][j][k]=ideal[i-1][j][k]+ideal[i][j-1][k]-ideal[i-1][j-1][k];
ideal[i][j][t-'a']++;
}
for(i=m;i<=n;i++)
for(j=m;j<=n;j++)
{
ok=1;
for(k=0;k<=25;k++)
{
frecva=f[i][j][k]-f[i][j-m][k]-f[i-m][j][k]+f[i-m][j-m][k];
frecvc=ideal[m][m][k];
if(frecva<frecvc){ok=0;break;}
}
if(ok==1)cnt++;
}
fout<<cnt;
return 0;
}