Pagini recente »
Istoria paginii runda/2024-02-09-clasa-5-tema-25/clasament
|
mini_test_1
|
Istoria paginii runda/2017-10-26-clasa-5-tema-12/clasament
|
Istoria paginii runda/2020-02-20-clasa-7-tema-23-optionala/clasament
|
Cod sursă (job #546211)
Cod sursă (job
#546211)
#include <fstream>
#define GOD 1000
using namespace std;
int main() {
int nl, nc, rm, cm, i, j, mihail, Rm[GOD], r, gasit, c, nr,
God_matrix[GOD][GOD];
// Iisuse miluieste - ma
char a[GOD][GOD], mm[GOD][GOD];
ifstream f("fotografie.in");
ofstream g("fotografie.out");
// In numele Tatalui si al Fiului si al Sfantului Duh Amin Acum si pururea si
// in vecii vecilor
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];
}
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;
while (i <= nl) {
j = 1;
while (j <= nc - cm + 1) {
mihail = 0;
nr = 0;
while (mihail <= cm - 1) {
nr = nr * 100 + (a[i][j + mihail] - 87);
mihail++;
}
God_matrix[i][j] = nr;
j++;
}
i++;
}
i = 1;
while (i <= nl - rm + 1) {
j = 1;
while (j <= nc - cm + 1) {
r = 1;
if (God_matrix[i][j] == Rm[r]) {
gasit = 1;
mihail = i + 1;
r++;
while ((r <= rm) && (gasit) && (mihail <= nl)) {
if (God_matrix[mihail][j] == Rm[r]) {
gasit = 1;
mihail++;
r++;
} else
gasit = 0;
}
if (mihail - i == rm) {
g << i - 1 << " " << j - 1 << endl;
}
}
j++;
}
i++;
}
// Multumesc Doamne!
// Doamne ajuta!
f.close();
g.close();
return 0;
}