比赛 CSP2023-J模拟赛 评测结果 AAAAAAAAAAAAAAAAAAAA
题目名称 切分子串 最终得分 100
用户昵称 ZZ_WYZ 运行时间 0.009 s
代码语言 C++ 内存使用 0.57 MiB
提交时间 2023-10-18 18:33:05
显示代码纯文本
#include<bits/stdc++.h>
using namespace std;
string a[160],b[160];
int ans=0;
bool check(string a,string b){
	int cnt=0;
	int na=a.length();
	int nb=b.length();
	for(int i=0;i<=nb-na;i++){
		for(int j=i;j<i+na;j++){
			if(a[j-i]==b[j])cnt++;
		}
		if(cnt==na){
		return 1;
		}
		cnt=0;
	}
	return 0;
}
int main(){
	freopen("cutstring.in","r",stdin);
	freopen("cutstring.out","w",stdout);
	string s,t;
	cin>>s>>t;
	int nt=t.length();
	for(int i=1;i<nt;i++){
		for(int j=0;j<i;j++){
			a[i]+=t[j];
		}
		for(int j=i;j<nt;j++){
			b[i]+=t[j];
		}
	}
	int ns=s.length();
	for(int i=1;i<nt;i++){
		if(a[i].length()>=ns||b[i].length()>=ns)continue;
		if(check(a[i],s)&&check(b[i],s)){
		ans++;
		}
	}
	cout<<ans<<endl;
	return 0;
}