vi kmp.h
#pragma once
#include <string>
class KMP
{
private:
int **dfa;
std::string pattern;
int R;
private:
void init_DFA(const std::string& p)
{
dfa[p[0]][0] = 1;
for (int j = 1, state = 0; j < p.length(); ++j)
{