Pagini recente » Istoria paginii runda/preoji2014_3_11_12 | Istoria paginii runda/vacanta_10_1/clasament | Istoria paginii runda/sacou/clasament | Istoria paginii runda/vacanta_10_1/clasament | Cod sursa (job #1934363)
#include <string>
#include <fstream>
#include <vector>
using namespace std;
string s1, s2;
vector<int> sol;
int main()
{
std::ifstream fin("strmatch.in");
fin >> s1 >> s2;
fin.close();
size_t position = s2.find(s1);
while ( position != string::npos && position <= s2.size() - s1.size() )
{
sol.push_back(position);
position = s2.find(s1, position + 1);
}
std::ofstream foun("strmatch.out");
fout << sol.size() << '\n';
int max_print = (sol.size() > 1000 ? 1000 : sol.size());
for ( int i = 1; i <= max_print; i++)
{
fout << sol[i] << ' ';
}
fout << '\n';
fout.close();
return 0;
}