fork(1) download
  1. #include <bits/stdc++.h>
  2. using namespace std;
  3.  
  4. int main(){
  5. int a;
  6. string s,b;
  7. cin >> s;
  8. cin >> a;
  9. int n = s.size();
  10. string para = "*";
  11. size_t pos = s.find(para);
  12. string sawl = s.substr(0, pos);
  13. string sakh = s.substr(pos + para.length());
  14.  
  15. for (int i = 0;i < a; i++){
  16. cin >> b;
  17. int x = b.size();
  18. if (x >= n-1){
  19. if (n == 1){
  20. cout << b << endl;
  21. } else if (s[n-1] == '*'){
  22. string bstart = b.substr(0,n-1);
  23. if (bstart == s.substr(0,n-1)){
  24. cout << b << endl;
  25. }
  26. } else if (s[0] == '*'){
  27. string bend = b.substr(x-(n-1),x);
  28. if (bend == s.substr(1,n)){
  29. cout << b << endl;
  30. }
  31. } else if (pos != string::npos){
  32. string bawl = b.substr(0,pos);
  33. string bakh = b.substr(pos + para.length());
  34.  
  35. if ((bawl.find(sawl) != string::npos) && (bakh.find(sakh) != string::npos)){
  36. cout << b << endl;
  37. }
  38. }
  39. }
  40. }
  41.  
  42. return 0;
  43. }
Success #stdin #stdout 0.01s 5284KB
stdin
Standard input is empty
stdout
Standard output is empty