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