1. 程式人生 > >[POJ1936]All in All

[POJ1936]All in All

turn log urn cnblogs bsp == 兩個指針 scanf strong

題目大意:讀入兩個字符串$s1$和$s2$,要你判斷$s1$是不是$s2$的子串。

思路:模擬,用$a1$,$a2$兩個指針表示當前判斷到的位置。如果$s1[a1]$等於$s2[a2]$,則$s1$+1,$s2$+1,否則$s2$+1。最後如果所有字符全都判斷成功,則輸出“Yes”,否則“No”。(看似很長,實際上很簡單)

C/C++ Code:

 1 #include<stdio.h>
 2 #include<string.h>
 3 char s1[100005],s2[100005];
 4 int main(){
5 while(scanf("%s %s",s1,s2)!=EOF){ 6 int a1=0,a2=0,l1=strlen(s1),l2=strlen(s2); 7 while(a1!=l1&&a2!=l2){ 8 if(s1[a1]==s2[a2])a1++; 9 a2++; 10 } 11 if(a1==l1)puts("Yes");else 12 puts("No"); 13 } 14 return 0
; 15 }

[POJ1936]All in All