Pagini recente » Cod sursa (job #2533562) | Cod sursa (job #75199) | Cod sursa (job #297377) | Cod sursa (job #2981193) | Cod sursa (job #2363144)
#include <fstream>
using namespace std;
int n, m, i, j, c, cnt, ok, k;
char a[1001][1001], car;
int v[1001][1001][30], fr[30];
int main () {
ifstream fin ("matrix.in");
ofstream fout ("matrix.out");
fin>>n>>m;
for (i=1;i<=n;i++) {
for (j=1;j<=n;j++) {
fin>>a[i][j];
for (k=1;k<=26;k++) {
v[i][j][k]=v[i-1][j][k]+v[i][j-1][k]-v[i-1][j-1][k];
}
v[i][j][a[i][j]-'a']++;
}
}
for (i=1;i<=m;i++) {
for (j=1;j<=m;j++) {
fin>>car;
fr[car-'a']++;
}
}
for (i=m;i<=n;i++) {
for (j=m;j<=n;j++) {
ok=0;
for (k=1;k<=26;k++) {
if (v[i][j][k]-v[i-m][j][k]-v[i][j-m][k]+v[i-m][j-m][k]!=fr[k]) {
ok=1;
break;
}
}
if (ok==0)
cnt++;
}
}
fout<<cnt;
return 0;
}