Cod sursa(job #3292872)

Utilizator Matei_AndronacheMatei Andronache Matei_Andronache Data 9 aprilie 2025 15:57:51
Problema Matrix Scor 70
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 1.06 kb
#include <fstream>

using namespace std;
ifstream cin ("matrix.in");
ofstream cout ("matrix.out");
int v[1001][1001][27],f[27],s[27];
int main()
{
    int n,m;
    cin>>n>>m;
    char a;
    for (int i=1;i<=n;i++)
    {
        for (int j=1;j<=n;j++)
        {
            cin>>a;
            a=a-'a';
            v[i][j][a]++;
            for (int k=0;k<=26;k++)
            {
                v[i][j][k]+=v[i-1][j][k]+v[i][j-1][k]-v[i-1][j-1][k];
            }
        }
    }
    for (int i=1;i<=m;i++)
    {
        for (int j=1;j<=m;j++)
        {
            cin>>a;
            a=a-'a';
            f[a]++;
        }
    }
    int nr=0;
    for (int i1=1,i2=m;i2<=n;i1++,i2++)
    {
        for (int j1=1,j2=m;j2<=n;j1++,j2++)
        {
            int ok=1;
            for (int k=0;k<=26;k++)
            {
                s[k]=v[i2][j2][k]-v[i1-1][j2][k]-v[i2][j1-1][k]+v[i1-1][j1-1][k];
                if (s[k]!=f[k])
                    ok=0;
            }
            nr+=ok;
        }
    }
    cout<<nr;
    return 0;
}