Subsequence (暴力搜索)

mac2022-06-30  24

Give a string SSS and NNN string TiT_iTi , determine whether TiT_iTi is a subsequence of SSS.

If ti is subsequence of SSS, print YES,else print NO.

If there is an array {K1,K2,K3,⋯ ,Km}\lbrace K_1, K_2, K_3,\cdots, K_m \rbrace{K1,K2,K3,,Km} so that 1≤K1<K2<K3<⋯<Km≤N1 \le K_1 < K_2 < K_3 < \cdots < K_m \le N1K1<K2<K3<<KmN and Ski=TiS_{k_i} = T_iSki=Ti, (1≤i≤m)(1 \le i \le m)(1im), then TiT_iTi is a subsequence of SSS.

Input

The first line is one string SSS,length(SSS) ≤100000 \le 100000100000

The second line is one positive integer N,N≤100000N,N \le 100000N,N100000

Then next nnn lines,every line is a string TiT_iTi, length(TiT_iTi) ≤1000\le 10001000

Output

Print NNN lines. If the iii-th TiT_iTi is subsequence of SSS, print YES, else print NO.

样例输入 

abcdefg 3 abc adg cba

样例输出 

YES YES NO #include <cstdio> #include <iostream> #include <vector> #include <string> #include <cstring> #include <iostream> #include <algorithm> #include <queue> using namespace std; #define ll long long const int inf = 0x3f3f3f3f; const ll linf =1LL<<50; const int maxn = 1e5+8; string s, miao; int n; int main() { cin>>s; int l = s.size(); cin >> n; while(n--) { cin>>miao; int len = miao.size(); int ga = 0; for(int i = 0; i<l; i++) { if(miao[ga] == s[i]) { ga++; } if(ga == len)break; } if(ga == len)printf("YES\n"); else printf("NO\n"); } return 0; }

 

转载于:https://www.cnblogs.com/RootVount/p/10752507.html

最新回复(0)