Cod sursa(job #1866678)
Utilizator | Data | 3 februarie 2017 13:55:53 | |
---|---|---|---|
Problema | Potrivirea sirurilor | Scor | 100 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.66 kb |
#include <iostream>
#include <fstream>
#include <cstring>
using namespace std;
ifstream f("strmatch.in");
ofstream g("strmatch.out");
char A[2000002], B[2000002];
int y, N=0, v[2000002];
int main()
{
f>>A;
f>>B;
y=strlen(A);
for(int i=0; B[i+y-1]!='\0'; i++)
{
if(B[i]==A[0])
{
int j=i, k=0;
while(B[j]==A[k] && B[j]!='\0')
{
k++;
j++;
}
if(k==y)
v[++N]=i;
}
}
g<<N<<'\n';
for(int i=1; i<=1000 && i<=N; i++)
g<<v[i]<<" ";
f.close();
g.close();
return 0;
}