xiaohuihuicb 2015-09-24 15:52 采纳率: 0%
浏览 1408

poj 1226我的代码为什么wa,求hack,给出测试数据,或者思路的错误

代码如下:
//#include
#include
#include
#include
#include
#include
using namespace std;
const int maxn = 105;
int next[maxn];
int ans[maxn];
string s[maxn];
void getnext(string a)
{
int i = 0;int j = -1;
next[0] = -1;
while(i<a.length()){
if(j == -1||a[i] == a[j])
{
i++;j++;
next[i] = j;
}
else
j = next[j];
}
}
int kmp(string a,string b){
getnext(a);
int ans = 0;
int al = a.size();
int bl = b.size();
//cout<<b<<endl;
int i = 0;int j = 0;
while(i<bl){
if(j == -1||a[j] == b[i]){
//cout<<i<<" "<<j<<a[j]<<b[i]<<endl;
i++;j++;

    }
    else{
        j = next[j];
    }
     ans = max(ans,j);
    if(j == al)
        j = next[j];
}
return ans;

}
string jianyi(string a){
string b = a;
reverse(b.begin(),b.end());
b = b.substr(0,b.size()-1);
reverse(b.begin(),b.end());
return b;
}
int main() {
int T;
cin>>T;
while(T--){
memset(ans,0x3f,sizeof(ans));
int n;
cin>>n;
if(n == 0) {cout<<"0"< if(n == 1){
cin>>s[0];
cout< continue;
}
int mini = 0;
int minsize = 0x3f3f3f;
for(int i = 0;i cin>>s[i];
if(s[i].size()<minsize)
{
minsize = s[i].size();
mini = i;
}
}
string a = s[mini];
string b = a;
reverse(b.begin(),b.end());

    for(int i = 0;i<s[mini].length();i++){
        for(int j = 0;j<n;j++){
                if(j == mini)continue;
               // cout<<i<<" "<<kmp(a,s[j])<<" "<<kmp(b,s[j])<<endl;
            ans[i] = min(ans[i],max(kmp(a,s[j]),kmp(b,s[j])));
        }
       // cout<<ans[i]<<endl;
       a = jianyi(a);
       b =  jianyi(b);
    }
    int ant = 0;
    for(int i = 0;i<s[mini].length();i++){
            //cout<<ans[i];
        ant = max(ant,ans[i]);
    }
    cout<<ant<<endl;
    }



return 0;

}

  • 写回答

1条回答 默认 最新

报告相同问题?

悬赏问题

  • ¥15 活动选择题。最多可以参加几个项目?
  • ¥15 飞机曲面部件如机翼,壁板等具体的孔位模型
  • ¥15 vs2019中数据导出问题
  • ¥20 云服务Linux系统TCP-MSS值修改?
  • ¥20 关于#单片机#的问题:项目:使用模拟iic与ov2640通讯环境:F407问题:读取的ID号总是0xff,自己调了调发现在读从机数据时,SDA线上并未有信号变化(语言-c语言)
  • ¥20 怎么在stm32门禁成品上增加查询记录功能
  • ¥15 Source insight编写代码后使用CCS5.2版本import之后,代码跳到注释行里面
  • ¥50 NT4.0系统 STOP:0X0000007B
  • ¥15 想问一下stata17中这段代码哪里有问题呀
  • ¥15 flink cdc无法实时同步mysql数据