Cod sursa(job #2071860)
| Utilizator | Data | 21 noiembrie 2017 08:54:23 | |
|---|---|---|---|
| Problema | Potrivirea sirurilor | Scor | 40 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.48 kb |
#include <fstream>
#include <queue>
using namespace std;
ifstream fin("strmatch.in");
ofstream fout("strmatch.out");
char a[2000002], b[2000002];
queue<int> q;
int k;
int main()
{
fin.getline(a, 2000001);
fin.getline(b, 2000001);
for (int i = 0; b[i]; i++)
{
int j = 0;
while (a[j] && b[i + j] == a[j]) j++;
if (!a[j] && q.size() < 1000)
q.push(i);
}
fout << q.size() << '\n';
while (q.size())
{
fout << q.front() << ' ';
q.pop();
}
}