Cod sursa(job #3345141)

Utilizator Sabin1133Padurariu Sabin Sabin1133 Data 8 martie 2026 01:06:05
Problema Potrivirea sirurilor Scor 80
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.72 kb
#include <cstring>
#include <iostream>

#define NMAX 2000005
#define CNTMAX 1000

int main()
{
    int n, m, cnt = 0;
    char t[NMAX], p[NMAX];
    int pos[CNTMAX];
    
    freopen("strmatch.in", "r", stdin);
    freopen("strmatch.out", "w", stdout);

    scanf("%s %s", p, t);

    m = strlen(p);
    n = strlen(t);

    for (int i = 0, j; i < n; ++i) {
        for (j = 0; i + j < n && j < m; ++j)
            if (t[i + j] != p[j])
                break;

        if (j == m) {
            if (cnt < CNTMAX)
                pos[cnt] = i;

            ++cnt;
        }
    }

    std::cout << cnt << '\n';

    for (int i = 0; i < cnt && i < CNTMAX; ++i)
        std::cout << pos[i] << ' ';

    std::cout << '\n';

    return 0;
}