Cod sursa(job #876246)

Utilizator paiePopescu Andreea paie Data 11 februarie 2013 16:50:14
Problema Potrivirea sirurilor Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.49 kb
#include <fstream>
#include <string>
using namespace std;

int main ()
{
	ifstream in("rez.in");
	ofstream out("rez.out");
	string a,f;
	int t[1000],i,j,n,m;
	getline(in,a);
	getline(in,f);
	n=a.size();
	m=f.size();
	j=0;
	t[0]=0;
	for(i=2;i<=n;i++){
		while(j<=n&&a[j+1]!=a[i])
			j=t[j];
		if(a[j+1]==a[i])
			j++;
		t[j]=j;}
	j=0;
	for(i=1;i<=m;i++){
		while(j<=n&&a[j+1]!=f[i])
			j=t[j];
		if(a[j+1]==f[i])
			j++;
		if(j==n)
			out<<j<<' '<<"!!!";}
	return 0;
}