Решение задачи Префикс-функция с Acmp

Без пояснения   Просмотров: 8



Код


    #include<iostream>

#include<string>

#include<vector>

using namespace std;

vector<int> pf(string s)

	{

	int i,j,n=s.size();

	vector<int>pi(n);

	for(i=1;i<n;++i)

		{

		j=pi[i-1];

		while(j>0&&s[i]!=s[j])j=pi[j-1];

		if(s[i]==s[j])++j;

		pi[i]=j;}

	return pi;}

int main()

{

	string s;

	cin>>s;

	for(auto a:pf(s))cout<<a<<' ';

	return 0;}

         

Администратор Photo Автор: Администратор



Комментарии

Чтобы написать комментарии вам нужно войти в систему или зарегистрироваться