Cod sursa(job #1706635)

Utilizator ionut98Bejenariu Ionut Daniel ionut98 Data 22 mai 2016 22:07:12
Problema Matrix Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.82 kb
#include<fstream>
#include<cstring>
using namespace std;
ifstream f("matrix.in");
ofstream g("matrix.out");
int m,n,F[130],v[1005][1005],sol,i,j;
bool b[1005][1005];
char s[1005],c[1005][1005];
int main()
{
    f>>m>>n;
    for(i=1;i<=m;i++)
      f>>c[i]+1;
    for(i=1;i<=n;i++)
    {
        f>>s+1;
        for(j=1;j<=n;j++)
          F[s[j]]++;
    }
    for(char k='a';k<='z';k++)
    {
        memset(v,0,sizeof(v));
        for(i=1;i<=m;i++)
          for(j=1;j<=m;j++)
            v[i][j]=v[i-1][j]+v[i][j-1]-v[i-1][j-1]+(c[i][j]==k);
        for(i=n;i<=m;i++)
          for(j=n;j<=m;j++)
            if(F[k]!=v[i][j]+v[i-n][j-n]-v[i-n][j]-v[i][j-n])
              b[i][j]=1;
    }
    for(i=n;i<=m;i++)
      for(j=n;j<=m;j++)
        if(b[i][j]==0)
          sol++;
    g<<sol;
    return 0;
}