B. Reverse String(brute force)

雨点打透心脏的1/2处 2022-09-03 07:29 198阅读 0赞

给的范围小,数据水,暴搜
为什么说数据水? 对于每个字母,直接往后搜到最后一个就行,不用管到第一个后返回从第二个开始。
例如
abcddd
abab
答案搜不到,数据也不给这样类型的


回去读题目,发现题目读错了。
往右走几步,然后往左几步,没有说来回反复多次往返。
这样代码就简单了
在这里插入图片描述

  1. // Problem: B. Reverse String
  2. // Contest: Codeforces - Harbour.Space Scholarship Contest 2021-2022 (open for everyone, rated, Div. 1 + Div. 2)
  3. // URL: https://codeforces.com/problemset/problem/1553/B
  4. // Memory Limit: 256 MB
  5. // Time Limit: 3000 ms
  6. //
  7. // Powered by CP Editor (https://cpeditor.org)
  8. #include<iostream>
  9. #include<cstdio>
  10. #include<string>
  11. #include<ctime>
  12. #include<cmath>
  13. #include<cstring>
  14. #include<algorithm>
  15. #include<stack>
  16. #include<climits>
  17. #include<queue>
  18. #include<map>
  19. #include<set>
  20. #include<sstream>
  21. #include<cassert>
  22. #include<bitset>
  23. #include<list>
  24. #include<unordered_map>
  25. using namespace std;
  26. #define lowbit(x) (x&-x)
  27. #define dbg(x) cout << #x << " = " << x << endl
  28. #define rep(i,l,r) for(int i = l; i <= r; i++)
  29. typedef long long ll;
  30. //const int N=1000*500+100;
  31. char a[505], b[1100];
  32. void solve()
  33. {
  34. cin >> (a+1);
  35. cin >> (b+1);
  36. int n = strlen(a+1);
  37. int m = strlen(b+1);
  38. bool f = false;
  39. rep(i,1,n)
  40. {
  41. if(a[i] == b[1])
  42. {
  43. int pos = 1;
  44. for(int j=i; pos<=m&&j<=n ;j++,pos++)
  45. {
  46. if(a[j] != b[pos]) break;
  47. for(int l=j,k=pos; l>=1&&k<=m;l--,k++)
  48. {
  49. if(k==m&&b[k]==a[l])
  50. {
  51. f = true;
  52. break;
  53. }
  54. if(a[l]!=b[k]) break;
  55. }
  56. }
  57. }
  58. }
  59. if(f) puts("YES");
  60. else puts("NO");
  61. }
  62. int main()
  63. {
  64. ios::sync_with_stdio(false);cin.tie(0);
  65. int Case;cin >> Case;
  66. while(Case--)
  67. solve();
  68. return 0;
  69. }

发表评论

表情:
评论列表 (有 0 条评论,198人围观)

还没有评论,来说两句吧...

相关阅读

    相关 Teacher Forcing技术

    以一个seq2seq模型为例,某一时刻t应该输出”you"这个词,但却错误的输出了“I”,那么如果将错误的输出传递给下一个时间序列,必然会影响接下来的输出,这个时候就有以下的策