比赛 CSP2023-J模拟赛 评测结果 AAAAAAAAAAAAAAAAAAAA
题目名称 切分子串 最终得分 100
用户昵称 小组图片 运行时间 0.013 s
代码语言 C++ 内存使用 0.86 MiB
提交时间 2023-10-18 18:58:36
显示代码纯文本
  1. #include<bits/stdc++.h>
  2. using namespace std;
  3. string a[160],b[160];
  4. int ans=0;
  5. bool check(string a,string b){
  6. int cnt=0;
  7. int na=a.length();
  8. int nb=b.length();
  9. for(int i=0;i<=nb-na;i++){
  10. for(int j=i;j<i+na;j++){
  11. if(a[j-i]==b[j])cnt++;
  12. }
  13. if(cnt==na){
  14. return 1;
  15. }
  16. cnt=0;
  17. }
  18. return 0;
  19. }
  20. int main(){
  21. freopen("cutstring.in","r",stdin);
  22. freopen("cutstring.out","w",stdout);
  23. string s,t;
  24. cin>>s>>t;
  25. int nt=t.length();
  26. for(int i=1;i<nt;i++){
  27. for(int j=0;j<i;j++){
  28. a[i]+=t[j];
  29. }
  30. for(int j=i;j<nt;j++){
  31. b[i]+=t[j];
  32. }
  33. }
  34. int ns=s.length();
  35. for(int i=1;i<nt;i++){
  36. if(a[i].length()>=ns||b[i].length()>=ns)continue;
  37. if(check(a[i],s)&&check(b[i],s)){
  38. ans++;
  39. }
  40. }
  41. cout<<ans<<endl;
  42. return 0;
  43. }