Cod sursa(job #2363144)

Utilizator YetoAdrian Tonica Yeto Data 3 martie 2019 12:57:44
Problema Matrix Scor 70
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.98 kb
#include <fstream>
using namespace std;
int n, m, i, j, c, cnt, ok, k;
char a[1001][1001], car;
int v[1001][1001][30], fr[30];

int main () {
    ifstream fin ("matrix.in");
    ofstream fout ("matrix.out");
    fin>>n>>m;
    for (i=1;i<=n;i++) {
        for (j=1;j<=n;j++) {
            fin>>a[i][j];
            for (k=1;k<=26;k++) {
                v[i][j][k]=v[i-1][j][k]+v[i][j-1][k]-v[i-1][j-1][k];
            }
            v[i][j][a[i][j]-'a']++;
        }
    }

    for (i=1;i<=m;i++) {
        for (j=1;j<=m;j++) {
            fin>>car;
            fr[car-'a']++;
        }
    }

    for (i=m;i<=n;i++) {
        for (j=m;j<=n;j++) {
            ok=0;
            for (k=1;k<=26;k++) {
                if (v[i][j][k]-v[i-m][j][k]-v[i][j-m][k]+v[i-m][j-m][k]!=fr[k]) {
                    ok=1;
                    break;
                }
            }
            if (ok==0)
                cnt++;
        }
    }
    fout<<cnt;
    return 0;
}