fork download
  1. #include <iostream>
  2. using namespace std;
  3. int l=1,ml=0;
  4. void maxl(){
  5. if(l>ml)ml=l;
  6. l=1;
  7.  
  8.  
  9.  
  10. }
  11. int main() {
  12. int k;
  13. cin >> k;
  14. char z;int tab[k][2];
  15. for(int i=0;i<k;i++)cin >> tab[i][0] >> z >> tab[i][1];
  16. int obrot=0,l1=0,y=0;
  17. for(int i=0;i<k-1;i++)
  18. {
  19. l1=0;
  20. etykieta:
  21.  
  22. // cout << " " << tab[i][0+obrot] << "|" << tab[i][1-obrot] << " " << l << "---"<< endl;
  23. if(l==1||y==1){
  24. if(tab[i][1-obrot]==tab[i+1][0]){l++;obrot=0;//cout << "/4";
  25. }
  26. else if(tab[i][0+obrot]==tab[i+1][0]){l++;obrot=0;//cout << "/3";
  27. }
  28. else if(tab[i][1-obrot]==tab[i+1][1]){l++;obrot=1;//cout << "/2";
  29. }
  30. else if(tab[i][0+obrot]==tab[i+1][1]){l++;obrot=1;//cout << "/1";
  31. }
  32.  
  33. else maxl();
  34. }
  35. else{
  36. if(tab[i][1-obrot]==tab[i+1][0]){l++;obrot=0;//cout << "/5";
  37. }
  38. else if(tab[i][1-obrot]==tab[i+1][1]){l++;obrot=1;//cout << "/6";
  39. }
  40. else {maxl();if(l1==0){l1=1;goto etykieta;}}
  41.  
  42. }
  43. if((tab[i][0]==tab[i+1][0]||tab[i][1]==tab[i+1][1])&&tab[i][0]==tab[i+1][1]||tab[i][0]==tab[i+1][1])y=1;
  44. else y=0;
  45.  
  46. // cout << " " << tab[i][0+obrot] << "|" << tab[i][1-obrot] << " " << l << endl;
  47.  
  48. }
  49. maxl();
  50. cout << ml;
  51. return 0;
  52. }
Success #stdin #stdout 0s 3460KB
stdin
8
2|2 3|5 1|1 1|6 5|6 6|4 2|4 4|0
stdout
3