Advertisement
Rentib

kmp

Mar 13th, 2020
119
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.37 KB | None | 0 0
  1. #include<bits/stdc++.h>
  2. using namespace std;
  3. int main(){
  4. ios_base::sync_with_stdio(0);
  5. cin.tie(0);
  6. string s;
  7. cin >> s;
  8. int n = s.size();
  9. vector<int> p(n);
  10. cout << 0;
  11. for(int i = 1;i < n;i++){
  12. int j = p[i - 1];
  13. while(j > 0 && s[i] != s[j])
  14. j = p[j - 1];
  15. if(s[i] == s[j])
  16. j++;
  17. p[i] = j;
  18. cout << ' ' << j;
  19. }
  20. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement