Pagini recente » Cod sursa (job #167713) | Cod sursa (job #1200023) | Cod sursa (job #1971622) | Cod sursa (job #2620022) | Cod sursa (job #278213)
Cod sursa(job #278213)
#include <fstream>
#include <string>
#define MAX 2000001
using namespace std;
int n, m;
char a[MAX];
char b[MAX];
int p[MAX];
void Read();
void Solve();
ifstream fin("strmatch.in");
ofstream fout("strmatch.out");
int main()
{
Read();
Solve();
fin.close();
fout.close();
return 0;
}
void Read()
{
fin >> a;
fin >> b;
n = strlen(b);
m = strlen(a);
// fout << a << "\n" << b << " " << n << " " << m << "\n";
}
void Solve()
{
int cont = 0;
for (int i = 0; i < n-m+1; i++)
{
// fout << a[i] << b[0] << "\n";
if (b[i] == a[0])
{
int ok = 1;
for (int j = 1; j < m && ok; j++)
{
if (b[i+j] != a[j])
ok = 0;
}
if (ok == 1)
{
cont++;
p[i] = 1;
}
}
}
fout << cont << "\n";
for (int i = 0; i<= n-m+1; i++)
{
if (p[i] == 1) fout << i << " ";
}
}