Pentru această operație este nevoie să te autentifici.
Pentru această operație este nevoie să te autentifici.

Cod sursă (job #546279)

Utilizator avatar stefan_s Stefan Sirghii stefan_s IP ascuns
Problemă Fotografie (clasele 9-10) Compilator cpp | 1,09 kb
Rundă lasm_19_03_2020_cl_12_a Status evaluat
Dată 19 mar. 2020 16:12:24 Scor 30
#include<fstream>
using namespace std;
ifstream f("fotografie.in");
ofstream g("fotografie.out");
int m,n,p,q,a[1001][1001],b[1001][1001];
int rv(char t)
{
    return (int) t-96;
}
int verificare(int h, int g, int c, int d)
{
  int x=0,y=0;
    for(int i=h;i<=c;i++)
    {
        x++;
        for(int j=g;j<=d;j++)
        {
            y++;
            if(a[i][j]!=b[x][y])return 0;
            if(y==q)y=0;
        }
    }
    return 1;
}
int main()
{
    f>>m>>n;
    f.get();
    for(int i=1;i<=m;i++)
    {
        for(int j=1;j<=n;j++)
        {
            char t;
            f>>t;
            a[i][j]=rv(t);
        }
        f.get();
    }
    f>>p>>q;
    f.get();
    for(int i=1;i<=p;i++)
    {
        for(int j=1;j<=q;j++)
        {
            char t;
            f>>t;
            b[i][j]=rv(t);
        }
        f.get();
    }
    for(int i=1;i<=m;i++)
        for(int j=1;j<=n;j++)
            if(a[i][j]==b[1][1])
            if(verificare(i,j,i+p-1,j+q-1)==1)
                g<<i-1<<" "<<j-1<<"\n";
    g.close();
    return 0;
}