Cod sursa(job #2644089)

Utilizator tryharderulbrebenel mihnea stefan tryharderul Data 23 august 2020 12:50:06
Problema Matrix Scor 0
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.96 kb
#include <iostream>
#include <stdio.h>
#include <string.h>

#define NMAX 1000

using namespace std;

int n,m,i,j,lit,s;
int x[NMAX][NMAX],v[NMAX],ok[NMAX][NMAX];

char a[NMAX][NMAX],b[NMAX][NMAX],c;

int main()
{
    freopen("matrix.in","r",stdin);
    freopen("matrix.out","w",stdout);

    scanf("%d%d\n ",&n,&m);

    for(i=1;i<=n;i++)
        gets(a[i]+1);

    for(i=1;i<=m;i++){
        for(j=0;j<=m;j++){
            scanf("%c",&b[i][j]);
            v[b[i][j]]++;
        }

    }

    for(lit='a';lit<='z';lit++){
        for(i=1;i<=n;i++)
            for(j=1;j<=n;j++)
                x[i][j]=x[i-1][j]+x[i][j-1]-x[i-1][j-1]+(lit==x[i][j]);

        for(i=m;i<=n;i++)
            for(j=m;j<=n;j++)
                if(x[i][j]-x[i-m][j]-x[i][j-m]+x[i-m][j-m]==v[lit])
                    ok[i][j]=1;

    }


    for(i=m;i<=n;i++)
        for(j=m;j<=n;j++)
            s=s+ok[i][j];


    printf("%d",s);

    return 0;
}