Pagini recente » Cod sursa (job #2689401) | Cod sursa (job #2503238) | Cod sursa (job #1020639) | Cod sursa (job #1712955) | Cod sursa (job #1903104)
#include <fstream>
#include <string>
#include <vector>
using namespace std;
vector <int> x;
string a, b;
int i;
void read()
{
ifstream f("strmatch.in");
f >> a >> b;
f.close();
}
void write()
{
ofstream f("strmatch.out");
f << x.size() << '\n';
int q = min((int)x.size(), 1000);
for (int i = 0; i < q; i++)
f << x[i] + 1 << ' ' ;
f.close();
}
bool verifica(int x)
{
string q = b.substr(x, a.size());
return a == q;
}
int main()
{
read();
for (int i = 0; i + a.size() <= b.size() && i < b.size(); i++)
if (a[0] == b[i] && a[a.size() -1] == b[i - 1 + a.size()] && verifica(i))
x.push_back(i - 1);
write();
return 0;
}