Pagini recente »
Istoria paginii utilizator/visoiuandrei
|
Istoria paginii utilizator/radupriboi
|
Istoria paginii utilizator/nataliagutanu
|
Rating Nani Robert (x_____Robert___x)
|
Cod sursă (job #751551)
Cod sursă (job
#751551)
#include <bits/stdc++.h>
using namespace std;
ifstream fin("fotografie.in");
ofstream fout("fotografie.out");
char a[1005][1005], b[1005][1005];
int n, m, cnt, x, y;
pair<int, int> d[1005];
void Verif(int i, int j)
{
int ll, l;
int aux, aux1;
aux = i;
aux1 = j;
for(ll=1; ll<=x; ll++)
{
for(l=1; l<=y; l++)
if(a[i][j] == b[ll][l]) j++;
else return;
j = aux1;
i++;
}
d[++cnt].first = aux - 1;
d[cnt].second = aux1 - 1;
}
bool cmp(pair<int, int> x, pair<int, int> y)
{
if(x.first != y.first) return x.first < y.first;
return x.second < y.second;
}
int main()
{
int i, j;
fin >> n >> m;
for(i=1; i<=n; i++)
fin >> (a[i] + 1);
fin >> x >> y;
for(i=1; i<=x; i++)
fin >> (b[i] + 1);
for(i=1; i<=n; i++)
for(j=1; j<=m; j++)
if(a[i][j] == b[1][1]) Verif(i, j);
sort(d + 1, d + cnt + 1, cmp);
for(i=1;i<=cnt;i++)
fout << d[i].first << " " << d[i].second << "\n";
fin.close();
fout.close();
return 0;
}