Pagini recente » Borderou de evaluare (job #3317914) | Cod sursa (job #3347962) | Borderou de evaluare (job #3303508) | Borderou de evaluare (job #3349135) | Cod sursa (job #3352701)
#include <bits/stdc++.h>
using namespace std;
char mat[1005][1005];
vector<int> f(256, 0);
vector<int> c(256, 0);
int main()
{
ifstream cin("matrix.in");
ofstream cout("matrix.out");
cin.tie(nullptr)->sync_with_stdio(false);
cout.tie(nullptr)->sync_with_stdio(false);
int n, m;
cin >> n >> m;
for(int i = 1; i <= n; i++)
{
for(int j = 1; j <= n; j++)
{
cin >> mat[i][j];
}
}
for(int i = 1; i <= m; i++)
{
for(int j = 1; j <= m; j++)
{
char x;
cin >> x;
f[(int)(x)]++;
}
}
// for(int i = 'a'; i <= 'd'; i++)
// {
// cout << f[i] << " ";
// }
// cout << "\n";
int cnt = 0;
for(int i = 1; i <= n - m + 1; i++)
{
for(int j = 1; j <= n - m + 1; j++)
{
for(int ci = i; ci <= i + m - 1; ci++)
{
for(int cj = j; cj <= j + m - 1; cj++)
{
c[mat[ci][cj]]++;
}
}
if(c == f)
{
// cout << i << " " << j << "\n";
cnt++;
}
c.assign(256, 0);
}
}
cout << cnt;
}