Pagini recente »
Borderou de evaluare (job #480147)
|
2020-03-27-clasa-7-tema-30
|
blitz-matrix1
|
Istoria paginii runda/vs_10_9dec2022
|
Cod sursă (job #546745)
Cod sursă (job
#546745)
#include <fstream>
#define hm 1000
using namespace std;
int main() {
int k, contor, Rm[hm], nr, nl, nc, rm, cm, r, c, i, j, p, gasit;
char a[hm][hm], mm[hm][hm];
ifstream f("fotografie.in");
ofstream g("fotografie.out");
f >> nl >> nc;
for (i = 1; i <= nl; i++) {
for (j = 1; j <= nc; j++) {
f >> a[i][j];
}
}
f >> rm >> cm;
for (i = 1; i <= rm; i++) {
for (j = 1; j <= cm; j++) {
f >> mm[i][j];
}
}
f.close();
r = 1;
while (r <= rm) {
c = 1;
Rm[r] = 0;
while (c <= cm) {
Rm[r] = Rm[r] * 100 + (mm[r][c] - 87);
c++;
}
r++;
}
i = 1;
r = 1;
while (i <= (nl - rm + 1)) {
j = 1;
while (j <= (nc - cm + 1)) {
if ((i + 1 <= rm) && (j + 1 <= cm)) {
if ((a[i][j] == mm[1][1]) && (a[i][j + 1] == mm[1][2]) &&
(a[i + 1][j] == mm[2][1])) {
contor = 0;
nr = 0;
while (contor <= cm - 1) {
nr = nr * 100 + (a[i][j + contor] - 87);
contor++;
}
if (nr == Rm[r]) {
k = r + 1;
gasit = 1;
p = i + 1;
while ((k <= rm) && (gasit) && (p <= nl)) {
contor = 0;
nr = 0;
while (contor <= cm - 1) {
nr = nr * 100 + (a[p][j + contor] - 87);
contor++;
}
if (nr == Rm[k])
gasit = 1;
else
gasit = 0;
k++;
p++;
}
if (p - i == rm) g << (i - 1) << " " << (j - 1) << endl;
}
}
}
j++;
}
i++;
}
g.close();
return 0;
}