Cod sursă (job #751456)

Utilizator avatar ciovnicu.denis Ciovnicu Denis Teodor ciovnicu.denis IP ascuns
Problemă Fotografie (clasele 9-10) Compilator cpp-32 | 1,14 kb
Rundă vs_11_12_dec Status evaluat
Dată 16 dec. 2023 11:11:19 Scor 40
#include <bits/stdc++.h>
using namespace std;
#define nmax 1006
#define INF 2123456789
ifstream fin ("fotografie.in");
ofstream fout ("fotografie.out");

int n, m;
int a[nmax][nmax];
int p, q;
int b[nmax][nmax];

int Check(int x, int y)
{
    int i, j;
    for (i = x; i <= x + p - 1; i++)
        for (j = y; j <= y + q - 1; j++)
            if(a[i][j] != b[i - x + 1][j - y + 1])
                return 0;
    return 1;
}

int main()
{
    int i, j;
    char ch;
    fin >> n >> m;
    for (i = 1; i <= n; i++)
        for (j = 1; j <= m; j++)
        {
            fin >> ch;
            a[i][j] = ch - 'a' + 1;
        }
    fin >> p >> q;
    for (i = 1; i <= p; i++)
        for (j = 1; j <= q; j++)
        {
            fin >> ch;
            b[i][j] = ch - 'a' + 1;
        }
    for (i = 1; i <= n - p + 1; i++)
        for (j = 1; j <= m - q + 1; j++)
            if(Check(i, j))
                fout << i - 1 << " " << j - 1 << "\n";
    /*
     for (i = 3; i <= 3 + p - 1; i++, fout << "\n")
        for (j = 5; j <= 5 + q - 1; j++)
            fout << b[i - 3 + 1][j - 5 + 1] << " "; */
    return 0;
}