Pagini recente » Cod sursa (job #1112565) | Cod sursa (job #3036641) | Cod sursa (job #3286557) | Cod sursa (job #1282385) | Cod sursa (job #2761382)
#include <iostream>
#include <vector>
#include <string>
#include <fstream>
#include <queue>
#include <set>
#include <sstream>
#include <string>
#include <map>
using namespace std;
int main(){
ifstream cin("strmatch.in");
ofstream cout("strmatch.out");
string A, B;
cin >> A >> B;
map<string, vector<int>> hashtable;
map<string, vector<int>>::iterator it;
string curr;
for(int i = 0; i < B.size(); ++i){
curr += B[i];
if(i >= A.length())
curr.erase(0, 1);
hashtable[curr].push_back(i - A.length() + 1);
}
int N;
if(hashtable[A].size() > 1000)
N = 1000;
else N = hashtable[A].size();
cout << hashtable[A].size() << "\n";
for(int i = 0; i < N; ++i)
cout << hashtable[A][i] << " ";
cin.close();
cout.close();
return 0;
}