Cod sursa(job #1195143)

Utilizator Barcau_EmanuelBarcau Emanuel Barcau_Emanuel Data 6 iunie 2014 14:29:25
Problema Matrix Scor 80
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.92 kb
#include<fstream>
using namespace std;
ifstream f("matrix.in");
ofstream g("matrix.out");
int s[1003][1003],a[30],i,j,rez,k,o,h,n,m,i1;
char b[1003][1003],x;
bool sol[903][903];

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

    for(i=1;i<=n;i++)
    for(j=1;j<=n;j++)
    f>>b[i][j];

    for(i=1;i<=m;i++)
    for(j=1;j<=m;j++)
    {
        f>>x;
        a[x-96]++;
    }

    for(i1=1;i1<=26;i1++)
    {
        for(i=1;i<=n;i++)
         {
             for(j=1;j<=n;j++)
             {
                 s[i][j]=s[i-1][j]+s[i][j-1]-s[i-1][j-1];
                 if((int)b[i][j]==i1+96) s[i][j]++;
                 if(i>=m&&j>=m)
                 {
                  if(s[i][j]-s[i][j-m]-s[i-m][j]+s[i-m][j-m]!=a[i1])
                        sol[i][j]=1;
                 }
             }
         }
    }


    for(i=m;i<=n;i++)
    for(j=m;j<=n;j++)
    if(sol[i][j]==0) rez++;

    g<<rez;


    return 0;
}