Pagini recente » Cod sursa (job #773369) | Cod sursa (job #59987) | Cod sursa (job #2783045) | Cod sursa (job #701932) | Cod sursa (job #634058)
Cod sursa(job #634058)
#include <fstream>
#include <cstring>
#include <vector>
using namespace std;
ifstream fi("strmatch.in");
ofstream fo("strmatch.out");
int main(){
string a , b ;
vector<int> res;
vector<int> k;
fi>>a>>b;
for(int i=0;i<(signed)b.size();i++){
for(int j=0;j<res.size();j++){
if(a[(res[j])]!=b[i]&&((res[j])<a.size())){res.erase(res.begin()+j);k.erase(k.begin()+j);continue;}else res[j]++;
if(!((res[j])<a.size())){res.erase(res.begin()+j);}
}
if(b[i]==a[0]&&b.size()-i>=a.size()){
res.push_back(1);
k.push_back(i);
}
}
fo<<k.size()<<'\n';
for(int i=0;i<k.size();i++)
if(i<1000)
fo<<k[i]<<' ';
else break;
}