Pagini recente » Cod sursa (job #2493014) | Cod sursa (job #96665) | Cod sursa (job #2324048) | Cod sursa (job #1626990) | Cod sursa (job #782972)
Cod sursa(job #782972)
#include <fstream>
#define DIM 1010
using namespace std;
ifstream f("matrix.in");
ofstream g("matrix.out");
int m, n, F[130], v[DIM][DIM], sol, i, j;
bool b[DIM][DIM];
char s[DIM], c[DIM][DIM];
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] ]++;
}
f.close();
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<<"\n";
g.close();
return 0;
}