比赛 |
CSP2023-J模拟赛 |
评测结果 |
AAAAAAAAAAAAAAAAAAAA |
题目名称 |
切分子串 |
最终得分 |
100 |
用户昵称 |
此账号已注销 |
运行时间 |
0.000 s |
代码语言 |
C++ |
内存使用 |
0.00 MiB |
提交时间 |
2023-10-18 18:41:42 |
显示代码纯文本
//及其铸币,用S长度遍历的写成T长度,特此记录,以警后人
#include<bits/stdc++.h>
using namespace std;
int t,Max=0,ia,ja,Ti,Tj;
char S[10000],T[10000];
int main(){
freopen("cutstring.in","r",stdin);
freopen("cutstring.out","w",stdout);
cin>>S>>T;
for(int i = 1; i < strlen(T); i++)
{
// cout<<endl;
ia = 0;
ja = 0;
// for(int h = 0; h < i; h++) cout<<T[h];
// cout<<" ";
// for(int h = i; h < strlen(T); h++) cout<<T[h];
Ti = 0;
for(int j = 0; j < strlen(S); j++)
{
if(S[j] == T[Ti])
{
ia = 1;
Tj = 1;
while(Ti+Tj < i)
{
if(S[j+Tj] != T[Tj+Ti])
{
// cout<<S[j+Ti]<<" "<<T[Ti]<<endl;
ia = 0;
break;
}
Tj++;
}
if(ia == 1) break;
}
}
Ti = i;
// cout<<Ti<<endl;
for(int j = 0; j < strlen(S); j++)
{
if(S[j] == T[Ti])
{
ja = 1;
Tj = 1;
// cout<<Ti<<" "<<strlen(T)<<endl;
while(Tj + Ti < strlen(T))
{
// cout<<S[j+Tj]<<" "<<T[Ti+Tj]<<endl;
if(S[j+Tj] != T[Ti+Tj])
{
// cout<<S[j+Tj]<<" "<<T[Ti+Tj]<<endl;
ja = 0;
break;
}
Tj++;
}
}
if(ja == 1) break;
}
if(ia == 1 && ja == 1) Max++;
}
cout<<Max;
}