Cod sursa(job #302904)

Utilizator ssergiussSergiu-Ioan Ungur ssergiuss Data 9 aprilie 2009 13:16:20
Problema Potrivirea sirurilor Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.68 kb
//#include<algorithm>
//using namespace std;
#include<stdio.h>
#include<string.h>

#define DIM 2000001
#define MAX 1001

int lga,lgb,nrsol,sol[MAX];
char a[DIM],b[DIM],*p;

void read(){

	gets(a);
	lga=strlen(a);
	scanf("\n");
	gets(b);
	lgb=strlen(b);}

void solve(){
	int poz;

	p=strstr(b,a);
	for(poz=0; strlen(p); ){
		if(nrsol<MAX-1){
			sol[++nrsol]=poz=strlen(b)-strlen(p);
			p=strstr(b+poz+1,a);}
		else
			break;}}

void print(){
	int i;

	printf("%d\n",nrsol);
	for(i=1; i<=nrsol; ++i)
		printf("%d ",sol[i]);}

int main(){

	freopen("strmatch.in","r",stdin);
	freopen("strmatch.out","w",stdout);

	read();
	solve();
 	print();
    return 0;}