Pagini recente » Cod sursa (job #327874) | Cod sursa (job #1100151) | Cod sursa (job #1759364) | Cod sursa (job #2385821) | Cod sursa (job #632010)
Cod sursa(job #632010)
#include <fstream>
using namespace std;
#define NMAX 1024
int ch[NMAX][NMAX][26];
int n,m;
char a[NMAX][NMAX];
int v[27];
void citire()
{
ifstream fin("matrix.in");
fin>>m>>n;
int i,j;
for (i=1;i<=m;++i)
{
fin>>(a[i]+1);
}
for (i=0;i<n;++i)
{
char s[NMAX];
fin>>s;
for (j=0;j<n;++j)
v[s[j]-'a']++;
}
}
int main()
{
citire();
int i,j,k,sol=0,cate;
for (i=1;i<=m;++i)
for (j=1;j<=m;++j)
{
cate=0;
ch[i][j][a[i][j]-'a']=1;
for (k=0;k<26;++k)
{
ch[i][j][k]+=ch[i-1][j][k]+ch[i][j-1][k]-ch[i-1][j-1][k];
if (i>=n && j>=n && ch[i][j][k]-ch[i-n][j][k]-ch[i][j-n][k]+ch[i-n][j-n][k]==v[k])
++cate;
}
if (cate==26) ++sol;
}
ofstream fout("matrix.out");
fout<<sol;
return 0;
}