Pagini recente » Cod sursa (job #696204) | Cod sursa (job #928606) | Cod sursa (job #2530762) | Cod sursa (job #2850256) | Cod sursa (job #1868173)
#include<fstream>
using namespace std;
ifstream f("matrix.in");
ofstream g("matrix.out");
int n,m,i,j,k,sol,s[1<<10][1<<10],v[27];
bool viz[1<<10][1<<10];
char c,M[1<<10][1<<10];
int main()
{
f>>n>>m;
for(i=1;i<=n;++i) f>>(M[i]+1);
while(f>>c) v[c-'a']++;
sol=(n-m+1)*(n-m+1);
for(k=0;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]+(M[i][j]-'a'==k);
if(i>=m&&j>=m)
if(s[i][j]-s[i-m][j]-s[i][j-m]+s[i-m][j-m]!=v[k]&&!viz[i][j])
{
viz[i][j]=1;
--sol;
}
}
g<<sol;
return 0;
}