比赛 |
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;
}