Cod sursa(job #2211590)
| Utilizator | Data | 11 iunie 2018 00:20:48 | |
|---|---|---|---|
| Problema | Potrivirea sirurilor | Scor | 40 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.6 kb |
#include <iostream>
#include <fstream>
#include <string.h>
#include <vector>
#define len 2000001
#define pb push_back
using namespace std;
ifstream in("strmatch.in");
ofstream out("strmatch.out");
vector<int> v;
char s[len], t[len], *ad;
int main()
{
in >> s >> t;
if(!strstr(t, s))
{
out << 0;
return 0;
}
ad = strstr(t, s);
v.pb(ad - t);
while(strstr(ad + 1, s))
{
ad = strstr(ad + 1, s);
v.pb(ad - t);
}
out << v.size() << '\n';
for(int i = 0; i < v.size(); ++i)
out << v[i] << ' ';
return 0;
}
