Problem Statement
Initially, Manao has an integer A and his friend has an integer B. Note that neither A nor B contain a zero digit in their base 10 representation. The players make moves alternatively with Manao starting first. In each move, the player can either reverse his current number, or he can divide it by 10 (using integer division). For example, if the current number is 12849, the player can either reverse it to obtain 94821, or he can divide it by 10 to obtain 1284. Note that we always round down when using integer division. Also note that each player is only allowed to change his own number, and not the number of the other player.
If after some move the players' numbers become equal, Manao is declared the winner. If after 1000 moves (that is, 500 moves by Manao and 500 by his friend) Manao has not won, he loses. Given A and B, determine whether Manao would win if both players play optimally. Return "Manao wins" or "Manao loses" accordingly.
Definition
- Class:
- TheNumberGame
- Method:
- determineOutcome
- Parameters:
- int, int
- Returns:
- String
- Method signature:
- String determineOutcome(int A, int B)
- (be sure your method is public)
Constraints
- A will be between 1 and 999,999,999, inclusive.
- B will be between 1 and 999,999,999, inclusive.
- A and B will not contain a zero digit in base 10 representation.
- A and B will be distinct.
Examples
45
4
Returns: "Manao wins"
Manao can win in one move by dividing his number by 10.
45
5
Returns: "Manao wins"
There are several possible scenarios this game can follow: Manao divides by 10 and obtains 4. Now his opponent can reverse his number and obtain 5 again. Obviously, no matter what Manao does in his next 499 moves, his opponent can evade him. Manao reverses his number and obtains 54. His opponent reverses his 5. Manao divides 54 by 10 and obtains 5, thus making the numbers equal Manao reverses his number and obtains 54. His opponent divides by 10 and obtains zero. Manao will win in three moves, dividing his number by 10 twice. Obviously, Manao will not choose to divide by 10 in his first move and will win.
99
123
Returns: "Manao loses"
No matter how Manao plays, the opponent can perform reverse moves until the end of the game.
2356236
5666
Returns: "Manao loses"
11
1
Returns: "Manao wins"
12
21
Returns: "Manao wins"
123
231
Returns: "Manao loses"
123456789
987654321
Returns: "Manao wins"
123456789
512346789
Returns: "Manao loses"
446
646
Returns: "Manao loses"
446
464
Returns: "Manao loses"
446
644
Returns: "Manao wins"
7347837
325
Returns: "Manao loses"
7347837
837
Returns: "Manao wins"
611
61
Returns: "Manao wins"
123536363
363
Returns: "Manao wins"
995432553
543
Returns: "Manao wins"
995432553
234
Returns: "Manao wins"
987987789
987
Returns: "Manao wins"
978978789
879
Returns: "Manao wins"
314159265
415
Returns: "Manao wins"
314159265
295
Returns: "Manao wins"
8442
4221
Returns: "Manao loses"
8442
42
Returns: "Manao wins"
866395753
6639575
Returns: "Manao wins"
572681512
26
Returns: "Manao wins"
212321312
33221
Returns: "Manao loses"
212321312
2212
Returns: "Manao loses"
212321312
213
Returns: "Manao wins"
212321312
21312
Returns: "Manao wins"
212321312
32131
Returns: "Manao wins"
919244822
44291
Returns: "Manao wins"
824216852
258612428
Returns: "Manao wins"
258612428
824216852
Returns: "Manao wins"
126
62
Returns: "Manao wins"
76532791
52369717
Returns: "Manao loses"
811934182
934818211
Returns: "Manao loses"
8512658
3752381
Returns: "Manao loses"
2179425
43785444
Returns: "Manao loses"
1
2
Returns: "Manao loses"
111
1
Returns: "Manao wins"
44784278
5129525
Returns: "Manao loses"
64844626
4462
Returns: "Manao wins"
724582652
245826
Returns: "Manao wins"
276464629
646
Returns: "Manao wins"
276464629
646467
Returns: "Manao wins"
472246289
64
Returns: "Manao wins"
999999999
92
Returns: "Manao loses"
999999999
9999
Returns: "Manao wins"
999999999
99999999
Returns: "Manao wins"
123456789
87654321
Returns: "Manao wins"
12345678
2345678
Returns: "Manao wins"
123456789
765
Returns: "Manao wins"
12121
212
Returns: "Manao wins"
12345
32
Returns: "Manao wins"
1234
24
Returns: "Manao loses"
123
321
Returns: "Manao wins"
123
32
Returns: "Manao wins"
544
45
Returns: "Manao wins"
123
21
Returns: "Manao wins"
123456789
8765
Returns: "Manao wins"
1222
221
Returns: "Manao wins"
1234
4321
Returns: "Manao wins"
4321
1234
Returns: "Manao wins"
321
123
Returns: "Manao wins"
123
69
Returns: "Manao loses"
444
4
Returns: "Manao wins"
1234
34
Returns: "Manao wins"
1111
11
Returns: "Manao wins"
19
91
Returns: "Manao wins"
41679
976
Returns: "Manao wins"
12345
23
Returns: "Manao wins"
11
111
Returns: "Manao loses"
983625176
15263
Returns: "Manao wins"
1234567
543
Returns: "Manao wins"
545
455
Returns: "Manao loses"
14321
1234
Returns: "Manao wins"
11111122
21
Returns: "Manao wins"
12345
54321
Returns: "Manao wins"
1
11
Returns: "Manao loses"
1221
2112
Returns: "Manao loses"
234
432
Returns: "Manao wins"
123445
344
Returns: "Manao wins"
2345
43
Returns: "Manao wins"
132
12
Returns: "Manao loses"
12345
432
Returns: "Manao wins"
34
43
Returns: "Manao wins"
13161
613
Returns: "Manao wins"
26
62
Returns: "Manao wins"
31113
111
Returns: "Manao wins"
1234
43
Returns: "Manao wins"
4567
54
Returns: "Manao wins"
325134
33254
Returns: "Manao loses"
1
111111
Returns: "Manao loses"
2122334
22233
Returns: "Manao loses"
455
5
Returns: "Manao wins"
123
12
Returns: "Manao wins"
1234
32
Returns: "Manao wins"
45
54
Returns: "Manao wins"
1
99
Returns: "Manao loses"
54321
12345
Returns: "Manao wins"
1234
123
Returns: "Manao wins"
245
45
Returns: "Manao wins"
121213
1213
Returns: "Manao wins"
1234
21
Returns: "Manao wins"
3112
21
Returns: "Manao wins"
12345666
456
Returns: "Manao wins"
154
45
Returns: "Manao wins"
32
23
Returns: "Manao wins"
2
1
Returns: "Manao loses"
2325
35
Returns: "Manao loses"
1234
321
Returns: "Manao wins"
432
43
Returns: "Manao wins"
75157
515
Returns: "Manao wins"
451
54
Returns: "Manao wins"
123456789
567
Returns: "Manao wins"
455
45
Returns: "Manao wins"
165
65
Returns: "Manao wins"
4588
45
Returns: "Manao wins"
3212
123
Returns: "Manao wins"
123
23
Returns: "Manao wins"
123456789
23456789
Returns: "Manao wins"
999999999
9
Returns: "Manao wins"
1112111
11211
Returns: "Manao wins"
123456789
214365879
Returns: "Manao loses"
999876999
9876
Returns: "Manao wins"
999998999
9999899
Returns: "Manao wins"