Pagini recente » Cod sursa (job #1121204) | Cod sursa (job #208776) | Cod sursa (job #1908986) | Cod sursa (job #1093156) | Cod sursa (job #2257222)
#include <fstream>
#include <string.h>
#include <vector>
#define len 2000001
#define pb push_back
#define sz size
#define maxx 1000
using namespace std;
ifstream fin("strmatch.in");
ofstream fout("strmatch.out");
vector<unsigned int> v;
char s[len], t[len];
unsigned int s_len, t_len, cont;
int main()
{
fin >> s >> t;
s_len = strlen(s);
t_len = strlen(t);
if(s_len > t_len)
{
fout << 0;
return 0;
}
if(s_len == t_len)
{
fout << (!strcmp(s, t) ? 1 : 0);
return 0;
}
while(strstr(t, s))
{
++cont;
if(cont <= maxx)
!v.sz() ? v.pb(strstr(t, s) - t) : v.pb(strstr(t, s) - t + v.back() + 1);
strcpy(t, strstr(t, s) + 1);
}
fout << cont << '\n';
for(unsigned short i = 0; i < v.sz(); ++i)
fout << v[i] << ' ';
return 0;
}