比赛 CSP2023-J模拟赛 评测结果 AAAAAAAAAAAAAAAAAAAA
题目名称 切分子串 最终得分 100
用户昵称 音箱蟀侠 运行时间 0.000 s
代码语言 C++ 内存使用 0.00 MiB
提交时间 2023-10-18 21:12:55
显示代码纯文本
#include<bits/stdc++.h>
using namespace std;
char s[10000],t[10000];
int ss,tt;
int f(char a[10000]){
	int num=0;
	for(int i=0;i<ss;++i){
		if(a[0]==s[i]&&strlen(a)<=ss-i){
			for(int j=i+1,num1=1;j<i+strlen(a);++j,++num1){
				if(a[num1]==s[j]) ++num;
				else break;
			}
			if(num==strlen(a)-1) return 1;
			else num=0;
		}
	}
	return 0;
}
int main(){
	freopen("cutstring.in","r",stdin);
	freopen("cutstring.out","w",stdout);
	int ans=0;
	cin>>s>>t;
	ss=strlen(s);tt=strlen(t);
	for(int i=0;i<tt-1;++i){
		char a[10000],b[10000];
		for(int j=0;j<=i;++j) a[j]=t[j];
		for(int j=i+1,num=0;j<tt;++j,++num) b[num]=t[j];
		for(int j=strlen(b)-1;j>=strlen(b)-(strlen(a)+strlen(b)-tt);--j) b[j]='\0';
		if(f(a)==1&&f(b)==1) ++ans;
		for(int j=0;j<strlen(a);++j) a[j]='\0';
		for(int j=0;j<strlen(b);++j) b[j]='\0';
	}
	cout<<ans;
	fclose(stdin);
	fclose(stdout);
	return 0;
}