比赛 CSP2023-J模拟赛 评测结果 EEEEEEAEEEEEAEEEAAEA
题目名称 切分子串 最终得分 25
用户昵称 gzy2508 运行时间 2.609 s
代码语言 C++ 内存使用 4.30 MiB
提交时间 2023-10-18 18:51:46
显示代码纯文本
#include<bits/stdc++.h>
using namespace std;
ifstream fin("cutstring.in");
ofstream fout("cutstring.out");
#define cin fin
#define cout fout
string s,t;
string t1,t2;
int ans,len1,len2;
int get(int x){
	int cnt=0;
	for(int i=x+1;i<len2;i++){
		t2[cnt]=t[i];
		cnt++;
	}
	return cnt;
}
int main(){
	cin>>s;
	cin>>t;
	ans=t.length()-1;
	if(s==t){
		cout<<ans<<endl;
		exit(0);
	}
	len2=ans+1;
	len1=s.length();
	for(int i=0;i<len2-1;i++){
		t1+=t[i];
		int lt2=get(i);
		bool j1=0,j2=0;
		int cnt1=0,cnt2=0;
		int last1=0;
		for(int j=0;j<=len1;j++){
			if(cnt1==i+1){
				j1=1;
				break;
			}
			if(s[j]!=t1[cnt1]){
				cnt1=0;
				j=last1;
				last1++;
				continue;
			}
			cnt1++;
		}
		int last2=0;
		for(int j=0;j<=len1;j++){
			if(cnt2==lt2){
				j2=1;
				break;
			}
			if(s[j]!=t2[cnt2]){
				cnt2=0;
				j=last2;
				last2++;
				continue;
			}
			cnt2++;
		}
		if(!j1||!j2){
			ans--;
		}
	};
	cout<<ans<<endl;
	
	return 0;
}
//abaaaabccaaac
//abaaac