Pagini recente » Borderou de evaluare (job #3047051) | Borderou de evaluare (job #3047037) | Borderou de evaluare (job #2350636) | Borderou de evaluare (job #1287421) | Cod sursa (job #2579331)
/// rezolvare in cazul in care nu sunt una peste alta
#define fisier "strmatch"
#ifdef consola
#include <iostream>
#define in std::cin
#define out std::cout
#else
#include <fstream>
#ifndef fisier
#define fisier "HYPER"
#endif
std::ifstream in(fisier ".in");
std::ofstream out(fisier ".out");
#endif
const int MAX_SIR = 2000001;
char a[MAX_SIR], b[MAX_SIR];
int j, nr_sol, sol[MAX_SIR];
bool verif_subsecv() { /// de la i incolo
int i = 0;
while (a[i] == b[j])
i++, j++;
return !a[i];
}
int main() {
in >> a >> b;
while (b[j]) {
int vechi_j = j;
if (*a != b[j]) {
j++;
continue;
}
if (verif_subsecv()) {
sol[nr_sol++] = vechi_j;
}
}
out << nr_sol << '\n';
for (j = 0; j < nr_sol; j++) {
out << sol[j] << ' ';
}
}
//