Pagini recente » Cod sursa (job #1467794) | Cod sursa (job #2588688) | Cod sursa (job #730426) | Cod sursa (job #3154131) | Cod sursa (job #1463138)
#include <fstream>
using namespace std;
int n,m,i,j,ap,sol;
char v[130],a[1001][1001],x,c,s[1001][1001],ok[1001][1001];
ifstream fin ("matrix.in");
ofstream fout ("matrix.out");
int main (){
fin>>n>>m;
for (i=1;i<=n;i++)
for (j=1;j<=n;j++)
fin>>a[i][j];
for (i=1;i<=m;i++)
for (j=1;j<=m;j++){
fin>>x;
v[x]++;
}
for (c='a';c<='z';c++){
for (i=1;i<=n;i++)
for (j=1;j<=n;j++) {
s[i][j] = s[i-1][j] + s[i][j-1] - s[i-1][j-1];
if (a[i][j] == c)
s[i][j] ++;
}
for (i=m;i<=n;i++)
for (j=m;j<=n;j++)
if ( s[i][j] - s[i-m][j] - s[j][j-m] + s[i-m][j-m] != v[c]) {
ok[i][j] = 1;
}
}
sol = 1;
for (i=m;i<=n;i++)
for (j=m;j<=n;j++)
if (ok[i][j] == 0)
sol++;
fout<<sol;
return 0;
}