?
Time Limit: 1000MS | Memory Limit: 65536K | |
Total Submissions: 5303 | Accepted: 3162 |
? 這一題相當得簡單只要正反比較兩次即可,運用隊列表示正向的,用棧表示反向的
代碼:
?
1 #include < stdio.h >
2 #include < queue >
3 #include < stack >
4 ? using namespace std;
5 ? int main()
6 {
7 int t,i,mark;
8 char s1[ 105 ],s2[ 105 ];
9
10 scanf( " %d " , & t);
11 while (t -- )
12 {
13 mark = 0 ;
14 scanf( " %s%s " ,s1,s2);
15 queue < char > qu;
16 stack < char > st;
17 for (i = 0 ;s2[i] != ' \0 ' ;i ++ )
18 {
19 st.push(s2[i]);
20 qu.push(s2[i]);
21 }
22 for (i = 0 ;s1[i] != ' \0 ' ;i ++ )
23 {
24 char x,y;
25 x = st.top();
26 y = qu.front();
27 if (x == s1[i])
28 st.pop();
29 if (st.empty())
30 {
31 mark = 1 ;
32 break ;
33 }
34 if (y == s1[i])
35 qu.pop();
36 if (qu.empty())
37 {
38 mark = 1 ;
39 break ;
40 }
41 }
42 if (mark)
43 printf( " YES\n " );
44 else
45 printf( " NO\n " );
46 }
47 return 0 ;
48 }
49 ?
?
?
?
?
?
更多文章、技術交流、商務合作、聯系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
