fork download
  1. #include <iostream>
  2. #include <string>
  3.  
  4. using namespace std;
  5.  
  6. bool czy_palindrom(int f)
  7. {
  8. string xd {to_string(f)};
  9. int k = xd.size()-1;
  10. for (int i = 0; i < xd.size()/2; i++,k--)
  11. {
  12. if (xd[k] != xd[i])
  13. {
  14. return false;
  15. }
  16. }
  17. return true;
  18. }
  19.  
  20. int main()
  21. {
  22. int ile;
  23. cin >> ile;
  24. for (int i = 0; i < ile; i++)
  25. {
  26. string godzina;
  27. cin >> godzina;
  28. godzina.erase(2,1);
  29. int palindrom {stoi(godzina)};
  30. palindrom++;
  31. for (;;)
  32. {
  33. if (czy_palindrom(palindrom))
  34. {
  35. break;
  36. }
  37. else
  38. {
  39. palindrom++;
  40. string chwilowy;
  41. chwilowy = {to_string(palindrom)};
  42. if (chwilowy.size() < 2)
  43. {
  44. chwilowy = "000" + to_string(palindrom);
  45. }
  46. else if (chwilowy.size() < 3)
  47. {
  48. chwilowy = "00" + to_string(palindrom);
  49. }
  50. else if (chwilowy.size() < 4)
  51. {
  52. chwilowy = '0' + to_string(palindrom);
  53. }
  54. if ((chwilowy[2]== '6')&&(chwilowy[3]=='0'))
  55. {
  56. palindrom += 40;
  57. }
  58. if ((chwilowy[0]== '2')&&(chwilowy[1]=='4'))
  59. {
  60. palindrom = 0;
  61. }
  62. }
  63. }
  64. if (palindrom/100 < 10)
  65. cout <<'0' <<palindrom/100 << ':';
  66. else
  67. cout <<palindrom/100 << ':';
  68. if (palindrom%100 < 10)
  69. cout <<'0' <<palindrom%100<< endl;
  70. else
  71. cout <<palindrom%100 << endl;
  72. }
  73. return 0;
  74. }
  75.  
Success #stdin #stdout 0s 4180KB
stdin
4
00:00
23:30
14:59
23:58
stdout
00:01
23:32
15:51
00:00