Pagini recente » Cod sursa (job #1535697) | Cod sursa (job #1209026) | Cod sursa (job #1045442) | Cod sursa (job #2050935) | Cod sursa (job #2355256)
#include<fstream>
using namespace std;
ifstream fin ("matrix.in");
ofstream fout ("matrix.out");
int n,m,s[1001][1001],sol,v[27],x;
bool ok[1001][1001];
int i,j,k;
char a[1001][1001],y;
int main () {
fin>>m>>n;
for (i = 1; i <= m; i ++) {
for (j = 1; j <= m; j ++) {
fin >> a[i][j];
ok[i][j] = 1;
}
}
for (i = 1; i <= n; i ++) {
for (j = 1; j <= n; j ++) {
fin >> y;
v[y-'a'+1]++;
}
}
for (k = 1; k <= 26; k ++) {
for (i = 1; i <= m; i ++) {
for (j = 1; j <= m; j ++) {
s[i][j] = s[i-1][j] + s[i][j-1] - s[i-1][j-1];
if (a[i][j] == k+'a'-1) {
s[i][j] ++;
}
x =s[i][j]-s[i-n][j]-s[i][j-n]+s[i-n][j-n];
if (x!=v[k]) {
ok[i][j] = 0;
}
}
}
}
for (i=1;i<=m;i ++) {
for (j=1;j<=m;j++) {
sol+=ok[i][j];
}
}
fout << sol;
return 0;
}