求帮看两份代码的区别
  • 板块学术版
  • 楼主Moyyer_suiy
  • 当前回复12
  • 已保存回复12
  • 发布时间2022/11/5 15:29
  • 上次更新2023/10/27 04:12:18
查看原帖
求帮看两份代码的区别
516420
Moyyer_suiy楼主2022/11/5 15:29
#include<bits/stdc++.h>
using namespace std;
string s,k;
char stk[1000010];
int main(){
    cin>>s>>k;
    int len=-1,lenk=k.length();
    for(int i=0;i<s.length();i++){
        stk[++len]=s[i];
        while(stk[len]==k[lenk-1]){
            int flag=1;
            for(int j=0;j<lenk;j++) if(stk[len-lenk+j+1]!=k[j]){flag=0;break;}
            if(flag) len-=lenk;
        }
    }
    len++;
    if(len==0) cout<<"FRULA";
    else for(int i=0;i<len;i++) cout<<stk[i];
}
#include<bits/stdc++.h>
using namespace std;
string s,k;
char stk[1000010];
int main(){
    cin>>s>>k;
    int len=-1,lenk=k.length();
    for(int i=0;i<s.length();i++){
        stk[++len]=s[i];
        while(stk[len]==k[lenk-1]){
            int flag=1;
            for(int j=0;j<lenk;j++) if(!stk[len-lenk+j+1]==k[j]){flag=0;break;}
            if(flag) len-=lenk;
        }
    }
    len++;
    if(len==0) cout<<"FRULA";
    else for(int i=0;i<len;i++) cout<<stk[i];
}

区别在第十二行,第二份可以运行,但是第一份代码改成 !=!= 为什么就时间超限运行不了了???蒟蒻求助,希望大佬能解释一下

2022/11/5 15:29
加载中...