fork(1) download
  1. #include<iostream>
  2. #include<vector>
  3. #include<string>
  4. #include<algorithm>
  5.  
  6. using namespace std;
  7. int main()
  8. {
  9. unsigned long long int pre=0,numl=0,t=0,n=0,i=0,j=0,k=0,index=0;
  10. cin>>t;
  11. while(t--)
  12. {
  13. cin>>n;
  14. string str,start,end;
  15. int flag[n];
  16. for(i=0;i<n;i++)
  17. {
  18. cin>>str;
  19. flag[i]=1;
  20. start=start+str[0];
  21. end=end+str[(str.length()-1)];
  22. }
  23.  
  24. start=start+'\0';
  25. end=end+'\0';
  26.  
  27. for(j=0;j<n;j++)
  28. {
  29. index=j;
  30. numl=0;
  31. for(i=0;i<n;i++)
  32. {
  33. flag[i]=1;
  34. }
  35.  
  36. flag[index]=0;
  37. for(k=0;k<n;k++)
  38. {
  39. i=start.find(end[index]);
  40. if(i!=index && flag[i]!=0)
  41. {
  42. flag[i]=0;
  43. index=i;
  44. numl=numl+1;
  45. }
  46. else if(i==index)
  47. {
  48. i=start.find(end[index],i+1);
  49. if(flag[i]!=0)
  50. {
  51. flag[i]=0;
  52. index=i;
  53. numl=numl+1;
  54. }
  55. else
  56. break;
  57. }
  58. if(numl==(n-1))
  59. break;
  60. }
  61. if(numl==(n-1))
  62. break;
  63. }
  64. if(numl==(n-1))
  65. cout<<"YES"<<endl;
  66. else
  67. cout<<"NO"<<endl;
  68.  
  69. }
  70. return 0;
  71. }
  72.  
  73.  
Success #stdin #stdout 0s 2688KB
stdin
Standard input is empty
stdout
Standard output is empty