偷吃糖果
Time Limit: 1000Ms
Memory Limit: 65536KB
Description
小鱼喜欢吃糖果。他有两盒糖果,两盒糖果分别仅由小写字母组成的字符串s和字符串t构成。其中'a'到'z'表示具体的某种糖果类别。他原本打算送给他喜欢的女生,由于贪吃的习惯,他偷吃了几块。要送给女孩子的话两盒糖果不能有差别,他决定再偷吃几块,希望把两盒糖果变的没有差别。他吃糖果的策略是每次选出一盒糖果中两个连续的同种类别的糖果,然后吃掉其中一块。例如一盒糖果是'rrrjj',他可以把这盒糖果变成'rrjj'或者'rrrj'。现在你要告诉小鱼,经过他多次偷吃糖果之后,两盒糖果能否送给他喜欢的女孩子。如果可以输出'Yes',如果不行输出'No'。
Input
第一行一个T,表示T组测试数据。每组测试数据格式如下。第一行表示字符串s,第二行表示字符串t。1 ≤ T ≤ 100Each character of s, t will be between 'a' and 'z'.1 ≤ length of string s ≤ 10001 ≤ length of string t ≤ 1000
Sample Output
YesNo
#include<stdio.h> #include<string.h> #include<algorithm> using namespace std; char map1[10000]; char map11[10000]; char map2[10000]; char map22[10000]; int main() { int t; scanf("%d",&t); while(t--) { int i,j; scanf("%s",map1); scanf("%s",map2); memset(map11,'\0',sizeof(map11)); memset(map22,'\0',sizeof(map22)); int len1=strlen(map1),len2=strlen(map2); int biao=0; int wc=0; for(i=0;i<len1;i++) { map11[biao]=map1[i]; while(map11[biao]==map1[i+1]&&i<len1) { i++; } biao++; } biao=0; for(i=0;i<len2;i++) { map22[biao]=map2[i]; while(map11[biao]==map2[i+1]&&i<len2) { i++; } biao++; } if(strcmp(map11,map22)==0) { printf("Yes\n"); } else printf("No\n"); } return 0; }