Cod sursa(job #2363150)

Utilizator Anakin1001George Giorgiu Gica Anakin1001 Data 3 martie 2019 12:58:50
Problema Matrix Scor 70
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.77 kb
#include <fstream>

using namespace std;
ifstream f("matrix.in");
ofstream g("matrix.out");
int n,m,i,j,c,a[1001][1001][27],fr[27],sol;
char ch;
bool ok;
int main(){
    f>>n>>m;
    for(i=1;i<=n;i++)
    for(j=1;j<=n;j++){
        f>>ch;
        for(c=1;c<='z'-'a'+1;c++)
            a[i][j][c]=a[i][j][c]+a[i-1][j][c]+a[i][j-1][c]-a[i-1][j-1][c];
        a[i][j][ch-'a'+1]++;
    }
    for(i=1;i<=m;i++)
    for(j=1;j<=m;j++){
        f>>ch;
        fr[ch-'a'+1]++;
    }
    for(i=m;i<=n;i++)
    for(j=m;j<=n;j++){
        ok=1;
        for(c=1;c<='z'-'a'+1;c++){
            if(a[i][j][c]-a[i-m][j][c]-a[i][j-m][c]+a[i-m][j-m][c]!=fr[c]){
                ok=0;
                break;
            }
        }
        sol+=ok;
    }
    g<<sol;
}