Cod sursa(job #3261372)

Utilizator Iulya10Toader Iulia Iulya10 Data 5 decembrie 2024 17:20:47
Problema Matrix Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.94 kb
#include <bits/stdc++.h>

using namespace std;
ifstream fin("matrix.in");
ofstream fout("matrix.out");
int n,m,i,j,sv,pv,S,P,nr,a[1005][1005],v[1005][1005],s[1005][1005],p[1005][1005];
char c;
int main()
{
    fin>>m>>n;
    for(i=1;i<=m;i++)
        for(j=1;j<=m;j++)
        {
            fin>>c;
            a[i][j]=c-'a'+1;
            s[i][j]=s[i-1][j]+s[i][j-1]-s[i-1][j-1]+a[i][j];
            p[i][j]=p[i-1][j]+p[i][j-1]-p[i-1][j-1]+(a[i][j]*a[i][j]);
        }

    for(i=1;i<=n;i++)
        for(j=1;j<=n;j++)
            {
                fin>>c;
                v[i][j]=c-'a'+1;
                sv+=v[i][j];
                pv+=(v[i][j]*v[i][j]);
            }
    for(i=n;i<=m;i++)
        for(j=n;j<=m;j++)
        {
            S=s[i][j]-s[i-n][j]-s[i][j-n]+s[i-n][j-n];
            P=p[i][j]-p[i-n][j]-p[i][j-n]+p[i-n][j-n];
            if(sv==S&&pv==P) nr++;
        }
        fout<<nr;

    return 0;
}