HDU5414——字符串思维题——CRB and String
http://acm.hdu.edu.cn/showproblem.php?pid=5414
/************************************************ * Author :Powatr * Created Time :2015-8-21 10:45:46 * File Name :1009.cpp ************************************************/ #include <cstdio> #include <algorithm> #include <iostream> #include <sstream> #include <cstring> #include <cmath> #include <string> #include <vector> #include <queue> #include <deque> #include <stack> #include <list> #include <map> #include <set> #include <bitset> #include <cstdlib> #include <ctime> using namespace std; #define lson l, mid, rt << 1 #define rson mid + 1, r, rt << 1 | 1 typedef long long ll; const int MAXN = 1e5 + 10; const int INF = 0x3f3f3f3f; const int MOD = 1e9 + 7; char s[MAXN], t[MAXN]; int len1, len2; bool solve() { int i, j; for(i = 1 ; i < len2; i++){ if(t[i] != t[0]) break; } for(j = 0; j < i; j++){ if(s[j] != t[j]) return 0; } while(j < len1){ for( ;i < len2; i++){ if(t[i] == s[j]) break; } if(i == len2) return 0; i++, j++; } return 1; } int main(){ int T; for(scanf("%d", &T);T--;){ scanf("%s%s", s, t); len1 = strlen(s); len2 = strlen(t); if(solve()){ puts("Yes"); } else puts("No"); } return 0; }