Cod sursa(job #3261374)

Utilizator GILIEDAVIDGilie David Florin GILIEDAVID Data 5 decembrie 2024 17:22:10
Problema Matrix Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.81 kb
#include <iostream>
#include <fstream>
using namespace std;
ifstream f("matrix.in");
ofstream g("matrix.out");
int n,m,i,j,s1[1005][1005],s2[1005][1005],x,sk1,sk2,nr;
char c;
int main()
{
    f>>n>>m;
    for(i=1;i<=n;i++)
        for(j=1;j<=n;j++)
        {
            f>>c;
            x=c-'a'+1;
            s1[i][j]=s1[i-1][j]+s1[i][j-1]-s1[i-1][j-1]+x;
            s2[i][j]=s2[i-1][j]+s2[i][j-1]-s2[i-1][j-1]+x*x;
        }
    for(i=1;i<=m;i++)
        for(j=1;j<=m;j++)
        {
            f>>c;
            x=c-'a'+1;
            sk1+=x;
            sk2+=x*x;
        }
    for(i=m;i<=n;i++)
        for(j=m;j<=n;j++)
            if(sk1==s1[i][j]-s1[i-m][j]-s1[i][j-m]+s1[i-m][j-m]&&sk2==s2[i][j]-s2[i-m][j]-s2[i][j-m]+s2[i-m][j-m])
                nr++;
    g<<nr;
    return 0;
}