Pagini recente » Cod sursa (job #1026841) | Cod sursa (job #1376438) | Cod sursa (job #875094) | Cod sursa (job #1525915) | Cod sursa (job #2374868)
#include <cassert>
#include <fstream>
#include <string>
#include <algorithm>
#include <vector>
// aici doar incerc ceva deci nu ma blamati
std::fstream fi("strmatch.in", std::ios::in);
std::fstream fo("strmatch.out", std::ios::out);
using result = struct { unsigned long long cnt = 0; std::vector<unsigned> patfind; };
int main (void) {
std::string str1, str2;
assert(std::getline(fi, str1));
assert(std::getline(fi, str2));
result val = { 0 };
int showcnt = 0;
unsigned found = str2.find(str1);
while (found != std::string::npos) {
if (showcnt < 1000) {
++showcnt;
val.patfind.push_back(static_cast<unsigned>(found));
}
++val.cnt;
found = str2.find(str1, found + 1);
}
assert(fo << val.cnt << "\n");
for (const auto& i : val.patfind)
assert(fo << i << " ");
return 0;
}