Cod sursa(job #3347964)

Utilizator iustin.dumiDumitrescu Iustin iustin.dumi Data 19 martie 2026 08:45:30
Problema Matrix Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.85 kb
#include <bits/stdc++.h>
using namespace std;
ifstream fin("matrix.in");
ofstream fout("matrix.out");
int n,m,s1,s2,i,j,dp1[1005][1005],dp[1005][1005],k,nrsol,nr;
char c;
int main()
{
    fin>>n>>m;
    for(i=1; i<=n; i++)
        for(j=1; j<=n; j++)
        {
            fin>>c;
            int x=c-'a'+1;
            dp[i][j]=dp[i-1][j]+dp[i][j-1]-dp[i-1][j-1]+x;
            dp1[i][j]=dp1[i-1][j]+dp1[i][j-1]-dp1[i-1][j-1]+x*x;
        }
    for(i=1; i<=m; i++)
        for(j=1; j<=m; j++)
        {
            fin>>c;
            int x=c-'a'+1;
            s1=s1+x;
            s2=s2+x*x;
        }
    for(i=m; i<=n; i++)
        for(j=m; j<=n; j++)
            if(dp[i][j]-dp[i-m][j]-dp[i][j-m]+dp[i-m][j-m]==s1 && dp1[i][j]-dp1[i-m][j]-dp1[i][j-m]+dp1[i-m][j-m]==s2)
                nrsol++;
    fout<<nrsol;
    return 0;
}