Pagini recente » Cod sursa (job #1549032) | Cod sursa (job #1129175) | Cod sursa (job #1974520) | Cod sursa (job #2005654) | Cod sursa (job #2952348)
#include <fstream>
using namespace std;
ifstream f("matrix.in");
ofstream g("matrix.out");
int n,m,s1,s2,nr,a[1001][1001],b[1001][1001];
int main()
{
f>>n>>m;
for(int i=1;i<=n;i++)
for(int j=1;j<=n;j++)
{
char c;
f>>c;
int x=c-'a'+1;
a[i][j]=a[i-1][j]+a[i][j-1]-a[i-1][j-1]+x;
b[i][j]=b[i-1][j]+b[i][j-1]-b[i-1][j-1]+x*x;
}
for(int i=1;i<=m;i++)
for(int j=1;j<=m;j++)
{
char c;
f>>c;
int x=c-'a'+1;
s1=s1+x;
s2=s2+x*x;
}
for(int i=m;i<=n;i++)
for(int j=m;j<=n;j++)
{
if(a[i][j]-a[i-m][j]-a[i][j-m]+a[i-m][j-m]==s1)
if(b[i][j]-b[i-m][j]-b[i][j-m]+b[i-m][j-m]==s2)
nr++;
}
g<<nr;
return 0;
}