Pagini recente » Diferente pentru utilizator/banana intre reviziile 18 si 36 | Monitorul de evaluare | Monitorul de evaluare | Diferente pentru utilizator/traian_7109 intre reviziile 36 si 60 | Cod sursa (job #1303485)
#include <fstream>
#include <string.h>
#include <iostream>
#include <math.h>
using namespace std;
ifstream in("strmatch.in");
ofstream out("strmatch.out");
char a[2000000],b[2000000];
int x,y;
int caut(int i)
{
for(int j=1;j<x;i++,j++)
if(a[j]!=b[i])
return 0;
return 1;
}
int main()
{
in.getline(a,2000000,'\n');
in.getline(b,2000000,'\n');
x=strlen(a);
y=strlen(b);
int k=0,p=1;
for(int i=0;i<y;i++)
if(a[0]==b[i])
if(caut(i+1))
{
p=p*10+i;
k++;
}
out<<k<<"\n";
int s=pow(10,(k-1));
while(k)
{
k--;
out<<p%(10*s)/s<<" ";
s=s/10;
}
return 0;
}