Pagini recente »
Istoria paginii runda/lasm_21_12_2022_cl12/clasament
|
Monitorul de evaluare
|
Istoria paginii runda/concurs_random/clasament
|
Cod sursă (job #469206)
Cod sursă (job
#469206)
#include <fstream>
using namespace std;
ifstream cin("fotografie.in");
ofstream cout("fotografie.out");
int n, m, p, q, sum[1010][1010], x;
char a[1010][1010], b[1010][1010];
void check(int y, int x) {
for(int i = 1; i <= p; i++)
for(int j = 1; j <= q; j++)
if(a[i + y - 1][j + x - 1] != b[i][j])
return;
cout << y - 1 << ' ' << x - 1 << '\n';
}
int main() {
cin >> n >> m;
for(int i = 1; i <= n; i++)
for(int j = 1; j <= m; j++)
cin >> a[i][j],
sum[i][j] = (a[i][j] - 'a') + sum[i - 1][j] + sum[i][j - 1] - sum[i - 1][j - 1];
cin >> p >> q;
for(int i = 1; i <= p; i++)
for(int j = 1; j <= q; j++)
cin >> b[i][j],
x += b[i][j];
x -= p * q * 'a';
for(int i = p; i <= n; i++)
for(int j = q; j <= m; j++)
if(sum[i][j] + sum[i - p][j - q] - sum[i][j - q] - sum[i - p][j] == x)
check(i - p + 1, j - q + 1);
return 0;
}