KMP"输入长度不合法"求助
  • 板块学术版
  • 楼主madfallen
  • 当前回复3
  • 已保存回复3
  • 发布时间2023/1/4 11:00
  • 上次更新2023/10/24 05:37:57
查看原帖
KMP"输入长度不合法"求助
553750
madfallen楼主2023/1/4 11:00

P4391 最后一个点无法通过,查看了一下是

1000000
aaaaaaaaaaaaaaaaa....(1000000个a)

到ide上测试一下,发现是“输入长度不合法”

#include<iostream>
#include<cstdio>
using namespace std;
int n,nxt[1000001],j;char s[1000001];
int main(){
    cin>>n;
    for(int i=1;i<=n;i++)cin>>s[i];
    for(int i=2;i<=n;i++){
        while(j&&s[i]!=s[j+1])j=nxt[i];
        if(s[i]==s[j+1])j++;
        nxt[i]=j;
    }
    cout<<n-nxt[n];
}

换了几种输入方式都没救,有没有什么办法

2023/1/4 11:00
加载中...