Pagini recente » Cod sursa (job #1332729) | Cod sursa (job #1855547) | Cod sursa (job #1965042) | Cod sursa (job #2330832) | Cod sursa (job #2685696)
#include <bits/stdc++.h>
using namespace std;
ifstream ci("matrix.in");
ofstream cou("matrix.out");
int n,m;
int v[1005][1005];
int s[1005][1005];
int s2[1005][1005];
int k,k2;
void init(){
int i,j;
for(i=1;i<=n;i++){
for(j=1;j<=n;j++){
s[i][j]=s[i][j-1]+s[i-1][j]-s[i-1][j-1]+v[i][j];
s2[i][j]=s2[i][j-1]+s2[i-1][j]-s2[i-1][j-1]+v[i][j]*v[i][j];
}
}
}
void citire(){
char a;
ci>>n>>m;
int i,j;
for(i=1;i<=n;i++){
for(j=1;j<=n;j++){
ci>>a;
v[i][j]=a-'a'+1;
}
}
for(i=1;i<=m;i++){
for(j=1;j<=m;j++){
ci>>a;
k+=a-'a'+1;
k2+=(a-'a'+1)*(a-'a'+1);
}
}
}
void rez(){
int i,j,p,p2,cn=0;
for(i=m;i<=n;i++){
for(j=m;j<=n;j++){
p=s[i][j]-s[i-m][j]-s[i][j-m]+s[i-m][j-m];
p2=s2[i][j]-s2[i-m][j]-s2[i][j-m]+s2[i-m][j-m];
if(p==k&&p2==k2){
cn++;
}
}
}
cou<<cn;
}
int main()
{
citire();
init();
rez();
return 0;
}