-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy path10471:COUNTING CHAOS.cpp
60 lines (51 loc) · 1.24 KB
/
10471:COUNTING CHAOS.cpp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
// 10471:COUNTING CHAOS
# include <iostream>
using namespace std ;
bool solve( char array[4] ) {
int hour = ( array[0] - '0' ) * 10 + array[1] - '0' ;
int minute = ( array[2] - '0' ) * 10 + array[3] - '0' ;
minute += 1 ;
if( minute == 60 ) {
if( hour == 23 ) {
array[1] = '0' ;
array[0] = '0' ;
}
else {
hour += 1 ;
array[1] = hour % 10 + '0' ;
array[0] = hour / 10 + '0' ;
}
array[2] = '0' ;
array[3] = '0' ;
}
else {
array[3] = minute % 10 + '0' ;
array[2] = minute / 10 + '0' ;
}
int start = 0 ;
int end = 3 ;
for( int i = 0 ; i < 4 ; i++ ) {
if( array[i] == '0' )
start++ ;
else
break ;
}
for( ; start < end ; start++, end-- ) {
if( array[start] != array[end] )
return false ;
}
return true ;
}
int main() {
int num ;
cin >> num ;
char array[4] ;
while( num-- ) {
cin >> array[0] >> array[1] ;
cin.get() ;
cin >> array[2] >> array[3] ;
while( !solve( array ) ) ;
cout << array[0] << array[1] << ":" << array[2] << array[3] << endl ;
}
return 0 ;
}