1. 程式人生 > >[UVA - 10340] All in All 題解

[UVA - 10340] All in All 題解

strlen 指針 位置 string 轉載 ios 循環 正文 ron

此文為博主原創題解,轉載時請通知博主,並把原文鏈接放在正文醒目位置。

題目鏈接(vjudge):https://vjudge.net/problem/UVA-10340

題目大意:

輸入包含多組數據,以EOF結束。

每組數據中有兩個字符串s,t,中間以空格隔開。問:能否在t中刪去0個或若幹個字符,使得s == t。

如果能,輸出Yes,不能,輸出No。

樣例輸入:

sequence subsequence
person compression
VERDI vivaVittorioEmanueleReDiItalia
caseDoesMatter CaseDoesMatter

樣例輸出:

Yes

No
Yes
No

分析:

一層for循環遍歷t中的字符,用一個變量作為指針去匹配s中字符即可。

AC代碼:

 1 #include<iostream>
 2 #include<cstring>
 3 #include<cstdio>
 4 #include<algorithm>
 5 #include<cmath>
 6 
 7 char s[10005],t[100005];
 8 int lens,lent,now;
 9 
10 int main()
11 {
12     while(scanf("
%s %s",s,t) != EOF) 13 { 14 lens = strlen(s),lent = strlen(t); 15 now = 0; 16 for(int i = 0;i < lent;++ i){ 17 if(t[i] == s[now]) 18 ++ now; 19 if(now == lens) 20 break; 21 } 22 if(now == lens) printf("
Yes\n"); 23 else printf("No\n"); 24 } 25 return 0; 26 }

[UVA - 10340] All in All 題解