Cod sursă (job #239271)

Utilizator avatar heyanca Anca Badiu heyanca IP ascuns
Problemă Fotografie (clasele 9-10) Compilator cpp | 1.04 kb
Rundă Arhiva de probleme Status evaluat
Dată 4 mai 2016 20:50:50 Scor 30
#include <fstream>

using namespace std;

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

#define MAX 1001

short a[MAX][MAX], s[MAX][MAX];
int n, m, p, q, ok;
char w;

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

    return 1;
}

int main()
{
    fin >> n >> m;
    for (int i = 1; i<=n; i++)
    {
        for (int j =1; j<=m; j++)
        {
            fin >> w;
            a[i][j] = w - 'a';
        }
    }

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

    for (int i = 1; i<=n; i++)
        for (int j =1; j<=m; j++)
            if (a[i][j] == s[1][1])
            {
                ok = caut(i, j);
                if (ok == 1)
                    fout << i - 1 << ' ' << j - 1<< '\n';
            }

    fin.close();
    fout.close();
    return 0;
}