输入包含多组测试数据。
对于每组测试数据,第一行为一个正整数n,代表有n个单词。
然后有n个字符串,代表n个单词。
保证:
2<=n<=200,每个单词长度大于1且小于等于10,且所有单词都是由小写字母组成。
#include<stdio.h> #include<algorithm> #include<string.h> using namespace std; struct T{ int a; int b; }str[201]; bool cmp(T a,T b){ return a.b<b.b; }//按照b从小到大排序 int main(){ int T,i,len; char s[15]; while(scanf("%d",&T)!=EOF){ for(i=0;i<T;i++){ scanf("%s",s); len=strlen(s); str[i].a=s[0]-'a'; str[i].b=s[len-1]-'a'; } sort(str,str+T,cmp); int flag=1; for(i=1;i<T;i++){ if(str[i].a!=str[i-1].b){ flag=0; //printf("%d %d ",str[i].a,str[i].b); break; } } if(flag==1) printf("Yes "); else printf("No "); } }