Cod sursa(job #2549829)

Utilizator gheorghe_cristiGheorghe Florin Cristi gheorghe_cristi Data 18 februarie 2020 05:38:52
Problema Matrix Scor 0
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.94 kb
#include <iostream>
#include <fstream>

using namespace std;

ifstream fin("matrix.in");
ofstream fout("matrix.out");

int n, m;
int a[1005][1005], f[1005], c[1005][1005], r[1005][1005], d[1005][1005];
int sol;
int x;

int main () {
    fin >> n >> m;

    for (int i=1;i<=n;++i)
        for (int j=1;j<=m;++j)
            fin >> a[i][j];

    for (int i=1;i<=n;++i)
        for (int j=1;j<=n;++j) {
            fin >> c[i][j];
            f[ c[i][j] ]++;
        }

    for (int k = 'a';k<='z';++k){

        for (int i=1;i<=n;++i)
            for (int j=1;j<=n;++j)
                d[i][j] = d[i][j-1] + d[i-1][j] - d[i-1][j-1] + (k == c[i][j]);

        for (int i=m;i<=n;++i)
            for (int j=m;j<=n;++j)
                if (d[i][j] - d[i][j-m] - d[i-m][j] + d[i-m][j-m] == f[k]) r[i][j] = 1;
    }

     for (int i=m;i<=n;++i)
            for (int j=m;j<=n;++j)
                sol+=r[i][j];

    fout << sol;
}