fork download
  1. #include <iostream>
  2. #include <string>
  3. #include <cctype>
  4. using namespace std;
  5.  
  6. // 判断是否可以通过修改大小写来匹配
  7. bool canMatch(string s, string t, int m, int n) {
  8. // 遍历s的每个可能的子串位置
  9. for (int i = 0; i <= m - n; i++) {
  10. bool isValid = true;
  11. // 对于每个位置,检查字符是否可以通过大小写转换来匹配
  12. for (int j = 0; j < n; j++) {
  13. if (tolower(s[i + j]) != tolower(t[j])) {
  14. isValid = false;
  15. break;
  16. }
  17. }
  18. // 如果找到了符合的子串,返回true
  19. if (isValid) return true;
  20. }
  21. // 如果没有符合的子串,返回false
  22. return false;
  23. }
  24.  
  25. int main() {
  26. int T;
  27. cin >> T; // 输入测试用例数量
  28.  
  29. while (T--) {
  30. int m, n;
  31. cin >> m >> n; // 输入字符串s和t的长度
  32.  
  33. string s, t;
  34. cin >> s >> t; // 输入字符串s和t
  35.  
  36. // 调用canMatch函数判断是否可以通过大小写转换匹配
  37. if (canMatch(s, t, m, n)) {
  38. cout << "YES" << endl;
  39. } else {
  40. cout << "NO" << endl;
  41. }
  42. }
  43.  
  44. return 0;
  45. }
  46.  
Success #stdin #stdout 0.01s 5280KB
stdin
2
4 2
acdc
ad
4 2
accd
ad
stdout
NO
NO