Pagini recente » Cod sursa (job #2094187) | Cod sursa (job #2815545) | Cod sursa (job #2061032) | Cod sursa (job #54396) | Cod sursa (job #482819)
Cod sursa(job #482819)
#include<fstream>
using namespace std;
ifstream f("matrix.in");
ofstream g("matrix.out");
int v[28],s[1001][1001],sol,n,m;
char a[1001][1001],lit;
bool ok[1001][1001];
int main()
{
int i,j,k;
f>>n>>m;
for(i=1;i<=n;i++)
for(j=1;j<=m;j++)
f>>a[i][j];
for(i=1;i<=m;i++)
{
for(j=1;j<=m;j++)
{
f>>lit;
v[lit-'a'+1]++;
}
}
for(k=1;k<=26;k++)
{
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(k==a[i][j]-'a'+1)
s[i][j]+=1;
if(i>=m&&j>=m)
if(s[i][j]-s[i-m][j]-s[i][j-m]+s[i-m][j-m]==v[k])
ok[i][j]=true;
}
}
}
for(i=1;i<=n;i++)
for(j=1;j<=n;j++)
if(ok[i][j])
sol++;
g<<sol;
return 0;
}