Pagini recente » Cod sursa (job #48432) | Cod sursa (job #481282) | Cod sursa (job #973498) | Cod sursa (job #1632879) | Cod sursa (job #2909990)
#include <fstream>
#include <cstring>
#define DIM 2000000
using namespace std;
char A[DIM+2], B[DIM+2];
int sol[1001];
int a, b, ok, i, nr;
int main () {
ifstream fin("strmatch.in");
ofstream fout("strmatch.out");
fin>>A+1; /// se ia primul rand din fisier si se pune in vectorul A incepand cu pozitia 1
fin>>B+1;
a = strlen(A+1);
b = strlen(B+1);
/// de aici inainte am doi vectori cu elemente de tip char
/// A cu a elemente si B cu b elemente
for (i=1;i+a-1<=b;i++) {
/// vedem daca apare sirul A in sirul B incepand cu pozitia i ca secventa
ok = 1;
for (int ia = 1, ib = i; ia<=a; ia++, ib++) {
if (A[ia] != B[ib]) {
ok = 0;
break;
}
}
if (ok == 1) {
nr++;
if (nr <= 1000)
sol[nr] = i-1;
}
}
fout<<nr<<"\n";
for (i=1;i<=min(nr, 1000); i++)
fout<<sol[i]<<" ";
}