fork download
  1. #include <iostream>
  2.  
  3. using namespace std;
  4.  
  5. void minuty( int );
  6. void godz( int, int);
  7.  
  8. int main()
  9. {
  10. int ile, GG, MM;
  11. char zn;
  12. cin >> ile;
  13. for ( int a=0; a<ile; a++ )
  14. {
  15. cin >> GG >> zn >> MM;
  16. if ( GG < 1 )
  17. minuty(MM);
  18. else
  19. godz(GG, MM);
  20. }
  21. return 0;
  22. }
  23.  
  24. void minuty( int MM )
  25. {
  26. for ( int m=MM+1; m<=60; m++ )
  27. {
  28. if ( m<=9 )
  29. {
  30. cout << "OO:0" << m << endl;
  31. break;
  32. }
  33. else if ( m==10 )
  34. {
  35. cout << "00:" << m << endl;
  36. break;
  37. }
  38. else if ( m>55 )
  39. {
  40. cout << "01:01" << endl;
  41. break;
  42. }
  43. else if ( m%10==0 || m/10==m%10 )
  44. {
  45. cout << "00:" << m << endl;
  46. break;
  47. }
  48. }
  49. }
  50.  
  51. void godz( int GG, int MM )
  52. {
  53. for ( int g=GG; g<24; g++ )
  54. {
  55. for ( int m=MM+1; m<=60; m++ )
  56. {
  57. if ( g<10 )
  58. {
  59. if ( g==m%10 )
  60. {
  61. if ( m<10 )
  62. {
  63. cout << "0" << g << ":0" << m << endl;
  64. g=24;
  65. break;
  66. }
  67. else
  68. {
  69. cout << "0" << g << ":" << m << endl;
  70. g=24;
  71. break;
  72. }
  73. }
  74. }
  75. else
  76. {
  77. if ( g/10==m%10 && g%10==m/10 && g<24 )
  78. {
  79. if ( m < 10)
  80. {
  81. cout << g <<":0"<< m << endl;
  82. g=24;
  83. break;
  84. }
  85. else
  86. {
  87. cout << g << ":" << m << endl;
  88. g=24;
  89. break;
  90. }
  91. }
  92. if ( g==23 && (m>32 || m==59) )
  93. {
  94. cout << "00:00" << endl;
  95. g=24;
  96. break;
  97. }
  98. }
  99. }
  100. MM=0;
  101. }
  102. }
  103.  
Success #stdin #stdout 0.01s 5480KB
stdin
12
00:00
00:01
00:09
00:10
01:30
09:59
10:00
11:52
17:17
20:00
23:00
23:32
stdout
OO:01
OO:02
00:10
00:11
01:31
10:01
10:01
12:21
20:02
20:02
23:32
00:00