Pagini recente » Cod sursa (job #1802688) | Cod sursa (job #3264290) | Cod sursa (job #1220696) | Cod sursa (job #2063421) | Cod sursa (job #2359572)
#include<fstream>
using namespace std;
ifstream fin ("matrix.in");
ofstream fout ("matrix.out");
int sum[1001][1001],n,m,x,sol,hz[27],i,j,k;
char mat[1001][1001],y;
bool oke[1001][1001];
int main (void) {
fin>>m>>n;
for (i = 1; i <= m; i ++) {
for (j = 1; j <= m; j ++) {
fin >> mat[i][j];
oke[i][j] = 1;
}
}
for (i = 1; i <= n; i ++) {
for (j = 1; j <= n; j ++) {
fin >> y;
hz[y-'a'+1] ++;
}
}
for (k = 1; k <= 26; k ++) {
for (i = 1; i <= m; i ++) {
for (j = 1; j <= m; j ++) {
sum[i][j] = sum[i-1][j] + sum[i][j-1] - sum[i-1][j-1];
if (mat[i][j] == k+'a'-1) {
sum[i][j] ++;
}
x = sum[i][j] -sum[i-n][j] - sum[i][j-n] + sum[i-n][j-n];
if (x != hz[k]) {
oke[i][j] = 0;
}
}
}
}
for (i = 1; i <= m; i ++) {
for (j = 1; j <= m; j ++) {
sol += oke[i][j];
}
}
fout << sol;
return 0;
}