Cod sursă (job #751547)

Utilizator avatar tomaionut IDorando tomaionut IP ascuns
Problemă Fotografie (clasele 9-10) Compilator cpp-32 | 1,03 kb
Rundă vs_11_12_dec Status evaluat
Dată 16 dec. 2023 11:41:31 Scor 40
#include <bits/stdc++.h>
#define P 31
#define Q 37
using namespace std;

ifstream fin("fotografie.in");
ofstream fout("fotografie.out");

int n, m, a[1005][1005], p, q, b[1005][1005];
char s[1005];
long long h2;

int main()
{
    int i, j, i2, j2, ok;
    fin >> n >> m;
    for (i = 1; i <= n; i++)
    {
        fin >> (s + 1);
        for (j = 1; j <= m; j++)
        {
            a[i][j] = s[j] - 'a' + 1;
        }
    }

    fin >> p >> q;
    for (i = 1; i <= p; i++)
    {
        fin >> (s + 1);
        for (j = 1; j <= q; j++)
            b[i][j] = s[j] - 'a' + 1;
    }

    for (i = 1; i <= n - p + 1; i++)
        for (j = 1; j <= m - q + 1; j++)
    {
        ok = 0;
        for (i2 = i; i2 <= i + p - 1 and ok == 0; i2++)
            for (j2 = j; j2 <= j + q - 1 and ok == 0; j2++)
                if (a[i2][j2] != b[i2 - i + 1][j2 - j + 1])
                ok = 1;
        if (ok == 0)
        {
            fout << i - 1 << " " << j - 1 << "\n";
        }
    }


    return 0;
}