Pagini recente » Cod sursa (job #1879738) | Cod sursa (job #1557692) | Cod sursa (job #1510230) | Cod sursa (job #2946516) | Cod sursa (job #1145451)
#include <fstream>
#define lmax 1001
using namespace std;
ifstream f("matrix.in");
ofstream g("matrix.out");
bool ok;
char c;
char a[lmax][lmax];
int i,j,k,n,m,nr;
int v[27];
int b[lmax][lmax],bun[lmax][lmax];
int main()
{
f>>n>>m;
for (i=1;i<=n;i++)
for (j=1;j<=n;j++)
f>>a[i][j];
for (i=1;i<=m;i++)
for (j=1;j<=m;j++)
{
f>>c;
v[c-96]++;
}
for (k=1;k<=26;k++)
for (i=1;i<=n;i++)
for (j=1;j<=n;j++)
{
b[i][j]=b[i-1][j]+b[i][j-1]-b[i-1][j-1];
if (a[i][j]==k+96)
b[i][j]++;
if (i>=m && j>=m)
if (b[i][j]-b[i-m][j]-b[i][j-m]+b[i-m][j-m]!=v[k])
bun[i][j]=1;
}
for (i=m;i<=n;i++)
for (j=m;j<=n;j++)
if (!bun[i][j])
nr++;
g<<nr;
f.close();
g.close();
}