Pagini recente » Cod sursa (job #2241355) | Cod sursa (job #812352) | Cod sursa (job #2803471) | Cod sursa (job #508131) | Cod sursa (job #634050)
Cod sursa(job #634050)
#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.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++)
fo<<k[i]<<' ';
}