Advertisement
a53

Cartonase3

a53
Mar 11th, 2020
233
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.42 KB | None | 0 0
  1. /*
  2. Implementare Dan Pracsiu
  3. */
  4. #include <fstream>
  5.  
  6. using namespace std;
  7.  
  8. int main()
  9. {
  10. int i, n;
  11. int task; /// cerinta
  12. int a1, b1; /// a1,b1= valorile de pe cartonasul precedent
  13. int a2, b2; /// a2, b2 = valorile de pe cartonasul curent
  14. int nrPerechi; /// pentru cerinta 1
  15. int maxLen, L, cnt;
  16. /// maxLen = lungimea maxima a unei secvente de cartonase
  17. /// cnt = numarul secventelor maximale
  18. ifstream fin("cartonase.in");
  19. ofstream fout("cartonase.out");
  20.  
  21. fin >> task >> n;
  22.  
  23. if (task == 1) /// cerinta 1
  24. {
  25. nrPerechi = 0;
  26. fin >> a1 >> b1;
  27. for (i = 2; i <= n; i++)
  28. {
  29. fin >> a2 >> b2;
  30. if (a2 == b1) nrPerechi++;
  31. a1 = a2; b1 = b2;
  32. }
  33. fout << nrPerechi << "\n";
  34. }
  35. else /// cerintele 2 si 3
  36. {
  37. fin >> a1 >> b1;
  38. maxLen = 1; cnt = 1; L = 1;
  39. for (i = 2; i <= n; i++)
  40. {
  41. fin >> a2 >> b2;
  42. if (a2 == b1) L++;
  43. else L = 1;
  44.  
  45. if (maxLen < L)
  46. {
  47. maxLen = L; cnt = 1;
  48. }
  49. else if (maxLen == L) cnt++;
  50.  
  51. a1 = a2; b1 = b2;
  52. }
  53. if (task == 2) fout << maxLen << "\n";
  54. else fout << cnt << "\n";
  55. }
  56. fin.close();
  57. fout.close();
  58. return 0;
  59. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement