Problem Statement
Each of the players has a single token called the fencer. At the beginning of the game, Ciel's fencer is in cell 0 and Liss's fencer is in cell d. Each of the fencers has two limits: its maximum move length and its hitting range. For Ciel's fencer the maximum move length is mov1 and the hitting range is rng1. Similarly, for Liss's fencer we have the parameters mov2 and rng2. Note that the parameters of Liss's fencer may differ from the ones of Ciel's fencer.
The players take alternating turns. Ciel goes first. In each turn the current player starts by moving her fencer. The distance between the original cell and the destination cell must be at most equal to the fencer's maximum move length. (It is also allowed to leave the fencer in the same cell.) Then, the current player checks whether the other fencer lies within the hitting range - that is, whether the current distance between the fencers is at most equal to the current fencer's hitting range. If that is the case, the game ends and the current player wins.
You are given the
Definition
- Class:
- FoxAndFencing
- Method:
- WhoCanWin
- Parameters:
- int, int, int, int, int
- Returns:
- String
- Method signature:
- String WhoCanWin(int mov1, int mov2, int rng1, int rng2, int d)
- (be sure your method is public)
Constraints
- mov1 will be between 1 and 100,000,000, inclusive.
- mov2 will be between 1 and 100,000,000, inclusive.
- rng1 will be between 1 and 100,000,000, inclusive.
- rng2 will be between 1 and 100,000,000, inclusive.
- d will be between 1 and 100,000,000, inclusive.
Examples
1
58
1
58
2
Returns: "Ciel"
The attributes of Ciel's fencer are much smaller than the attributes of Liss's fencer. Luckily for Ciel, she can win the game in her first turn: she should move her fencer to cell 1 and from there she can hit the other fencer.
2
1
1
100
50
Returns: "Liss"
Ciel cannot score a hit in the first turn. After Ciel's turn, her fencer will be on one of the cells {-2,-1,0,1,2}. Regardless of its precise location, Liss can always move her fencer one cell to the left and then hit Ciel.
2
1
1
100
150
Returns: "Draw"
Clearly, Ciel has no chance of winning this game. However, this time the initial distance d is big enough for Ciel to escape.
100
100
100
100
100000000
Returns: "Draw"
100
1
100
1
100000000
Returns: "Ciel"
100
1
100
250
100000000
Returns: "Draw"
100
1
100
150
100000000
Returns: "Ciel"
100
50
100
1
100000000
Returns: "Ciel"
100
150
100
1
100000000
Returns: "Draw"
2569385
8205287
3508712
4698116
5015999
Returns: "Ciel"
3322451
9267903
3549829
8287879
8693771
Returns: "Liss"
957180
109481
128187
975766
707284
Returns: "Ciel"
4885
393
3358
5764
9144
Returns: "Ciel"
47828
84275537
46406583
78262476
70148557
Returns: "Liss"
819
411
800
845
583
Returns: "Ciel"
797
947
923
776
958
Returns: "Ciel"
295
822
470
283
864
Returns: "Liss"
275
592
305
494
405
Returns: "Ciel"
7
10
5
8
6
Returns: "Ciel"
5088
3173
18425
67832
43733
Returns: "Liss"
18263
96382
46436
62936
79951
Returns: "Liss"
5132039
4292513
1669585
9050987
6835888
Returns: "Liss"
933
508
9667
66929
47312
Returns: "Liss"
8162034
9177151
906682
4158573
9228270
Returns: "Draw"
387261
378065
53878
666420
628401
Returns: "Liss"
12085507
5039466
3054874
90944580
76972734
Returns: "Liss"
29493
15873
41926
1618
88588
Returns: "Ciel"
100
91
87
99
87
Returns: "Ciel"
1212548
4702178
5032818
1951676
7426047
Returns: "Draw"
4789835
98364290
38694042
62902990
74070072
Returns: "Liss"
8353478
5988082
8766831
4752979
4508890
Returns: "Ciel"
912047
549358
721854
8636719
5496524
Returns: "Liss"
503
723
137
449
790
Returns: "Liss"
209621
373252
657622
35017
874549
Returns: "Draw"
4997
1970
1975
467
9503
Returns: "Ciel"
6236883
8280717
941853
6140221
3546904
Returns: "Ciel"
133832
416965
386898
614094
938494
Returns: "Liss"
9
10
10
9
10
Returns: "Ciel"
4631
2319
6080
4649
2410
Returns: "Ciel"
1227613
8414187
3730912
5229840
5789543
Returns: "Liss"
3837
9341
4025
3794
9832
Returns: "Liss"
242388
563800
294388
700843
868166
Returns: "Liss"
83190499
50805774
20516560
12979495
73949245
Returns: "Ciel"
114149
877480
26353
296346
183703
Returns: "Liss"
101408
30370
90818
417939
277114
Returns: "Liss"
89459
26835
58654
25639
94536
Returns: "Ciel"
168776
26562
275478
733107
519391
Returns: "Liss"
6410867
210266
4670926
7637362
6089422
Returns: "Ciel"
91005
12669
29302
36046
9991
Returns: "Ciel"
844541
198979
778236
10579
191313
Returns: "Ciel"
420
834
500
825
555
Returns: "Ciel"
4407
8605
2511
3768
8510
Returns: "Liss"
5582428
16237668
64765445
66158021
96740237
Returns: "Liss"
3299752
9751005
281828
797004
9511734
Returns: "Liss"
281
413
51
162
702
Returns: "Draw"
970629
552652
2734390
1287708
3799484
Returns: "Ciel"
624
2437
2136
5177
6635
Returns: "Liss"
4286235
4524727
2014354
9267315
8600375
Returns: "Liss"
92562275
32806788
73274426
83395956
10325308
Returns: "Ciel"
9
9
7
8
10
Returns: "Ciel"
880953
913358
692305
914300
972764
Returns: "Ciel"
6620077
8487727
9564696
9612653
5197776
Returns: "Ciel"
412009
856519
177581
203996
502850
Returns: "Ciel"
2896
9489
7040
7775
6686
Returns: "Ciel"
56234149
25225858
18080362
23908892
66870275
Returns: "Ciel"
183838
422233
351628
915907
916278
Returns: "Liss"
84058
91823
70705
85211
86483
Returns: "Ciel"
86801837
47686016
43020073
78283375
85130624
Returns: "Ciel"
80279067
47496845
5812448
63816234
92135504
Returns: "Draw"
48207
40447
12418
91157
70612
Returns: "Liss"
4828
3528
28123
18755
85530
Returns: "Ciel"
10
10
9
10
9
Returns: "Ciel"
862
698
912
634
813
Returns: "Ciel"
179268
41505
633873
167086
210001
Returns: "Ciel"
366877
12942
198485
165615
743424
Returns: "Ciel"
930
280
687
731
471
Returns: "Ciel"
3737
8075
7463
9946
4025
Returns: "Ciel"
7
10
4
9
5
Returns: "Ciel"
21
11
54
34
87
Returns: "Ciel"
4183
7994
5356
6805
5505
Returns: "Ciel"
5196111
6999976
2847383
2428843
8052255
Returns: "Draw"
28487649
38806932
30448895
6326062
63098333
Returns: "Draw"
2268
864
944
9525
7639
Returns: "Liss"
4686175
2897609
8565062
3507478
4427457
Returns: "Ciel"
7650835
3564508
9075974
5808399
1668465
Returns: "Ciel"
23
15
22
66
58
Returns: "Liss"
5841
5567
836
189
7791
Returns: "Draw"
32678223
19019413
84333699
73303616
56741424
Returns: "Ciel"
731933
455177
917619
442074
86855
Returns: "Ciel"
2492
579
4955
7311
9165
Returns: "Draw"
23
60
59
59
100
Returns: "Liss"
558
504
156
992
831
Returns: "Liss"
17585
98227
71487
16448
31586
Returns: "Ciel"
922384
8694304
2505056
816335
5485369
Returns: "Liss"
472
928
514
982
954
Returns: "Ciel"
10170
51735
3257
78026
5117
Returns: "Ciel"
191
241
617
824
951
Returns: "Liss"
75943
35098
8347
95616
93613
Returns: "Draw"
2878644
6240792
1774757
854388
7575104
Returns: "Draw"
8894
4073
6714
9640
8072
Returns: "Ciel"
60031756
44206409
685336
35145713
96497946
Returns: "Draw"
1883
7342
3555
2535
9455
Returns: "Liss"
11820121
64903717
21349412
71624984
89719575
Returns: "Liss"
8366806
8174420
6805316
8119340
8637244
Returns: "Ciel"
86465
30191
80623
97191
6288
Returns: "Ciel"
101594
777888
301037
241349
212950
Returns: "Ciel"
227012
94566
224694
40948
721077
Returns: "Ciel"
675997
574064
844652
61681
695256
Returns: "Ciel"
53789845
5096114
6726066
57234281
70718756
Returns: "Draw"
100
1
100
197
100000000
Returns: "Ciel"
100
1
100
198
100000000
Returns: "Draw"
100
99
100
1
100000000
Returns: "Ciel"
100
100
100
1
100000000
Returns: "Draw"
1000000
100000000
1000000
100000000
2000000
Returns: "Ciel"
1000000
100000000
1000000
100000000
2000001
Returns: "Liss"
100
69
85
46
89
Returns: "Ciel"
40
39
28
81
80
Returns: "Liss"
224
237
425
932
946
Returns: "Liss"
329
771
433
987
763
Returns: "Liss"
93
91
94
94
93
Returns: "Ciel"
38
84
27
20
91
Returns: "Liss"
83
18
12
24
96
Returns: "Ciel"
45
2
5
95
52
Returns: "Liss"
54
57
24
34
79
Returns: "Draw"
13
50
32
11
61
Returns: "Liss"
92
100
94
91
99
Returns: "Ciel"
97
99
99
96
99
Returns: "Ciel"
89
42
93
97
86
Returns: "Ciel"
49
96
63
68
74
Returns: "Ciel"
100
100
100
100
100
Returns: "Ciel"
58
45
41
49
100
Returns: "Draw"
3956
4788
4174
7300
8722
Returns: "Liss"
28
60
42
39
90
Returns: "Liss"
11
7
11
7
42
Returns: "Ciel"
14
37
13
6
53
Returns: "Liss"
19
20
16
60
67
Returns: "Liss"
82
58
98
63
89
Returns: "Ciel"
24
25
36
86
97
Returns: "Liss"
18
55
38
59
97
Returns: "Liss"
22
40
53
57
89
Returns: "Draw"
83
56
84
53
55
Returns: "Ciel"
100
100
100
100
100
Returns: "Ciel"
19
98
50
28
69
Returns: "Ciel"
55
34
42
54
98
Returns: "Draw"
64
17
26
61
91
Returns: "Draw"
54
54
41
97
97
Returns: "Liss"
68
25
24
40
94
Returns: "Ciel"
21
53
33
23
55
Returns: "Liss"
48
29
75
64
70
Returns: "Ciel"
34
45
12
37
65
Returns: "Liss"
76
75
60
96
95
Returns: "Ciel"
39
38
92
47
35
Returns: "Ciel"
29
17
26
93
82
Returns: "Draw"
54
85
59
85
71
Returns: "Ciel"
60
11
27
23
88
Returns: "Ciel"
34
44
55
82
49
Returns: "Ciel"
80
80
82
97
98
Returns: "Ciel"
14
14
39
18
79
Returns: "Draw"
39
26
87
69
56
Returns: "Ciel"
66
99
13
46
92
Returns: "Draw"
43
71
26
53
81
Returns: "Liss"
98
95
97
99
96
Returns: "Ciel"
61
59
95
39
52
Returns: "Ciel"
7
33
90
71
69
Returns: "Ciel"
33
91
59
77
92
Returns: "Ciel"
1
99929110
2
37162
3
Returns: "Ciel"
1
97
99999999
491
99999999
Returns: "Ciel"
99999976
99996528
9
75210
99999985
Returns: "Ciel"
1
100000000
99999975
98144560
99999977
Returns: "Liss"
7
7
94878
100000000
100000000
Returns: "Liss"
1
1
99999105
99999999
100000000
Returns: "Draw"
2
1
2
1
99936302
Returns: "Ciel"
99999995
2
1
99999992
100000000
Returns: "Draw"
2
1
281
1
285943
Returns: "Ciel"
1
1
99999570
13999166
99999985
Returns: "Draw"
1
7
9
5
99999940
Returns: "Liss"
1
9
8
1
213
Returns: "Draw"
2
3
1
19886125
49833623
Returns: "Liss"
3
3
1173
98017837
99999994
Returns: "Draw"
3
2
6
5
100
Returns: "Draw"
8
7
16
16
1000000
Returns: "Draw"
5
4
3
2
100
Returns: "Draw"
5
4
1
1
100
Returns: "Draw"
11
10
100
100
100000000
Returns: "Draw"
10
1
100
108
200
Returns: "Draw"
11
10
2
1
100000
Returns: "Draw"
3
1
1
2
5
Returns: "Draw"
2
1
1
1
5
Returns: "Draw"
100
75
50
1
100000
Returns: "Draw"
1
100
1
100
100000000
Returns: "Liss"
2
1
2
2
10
Returns: "Draw"
1
2
1
1
1000
Returns: "Draw"
1
2
1000
1000
1005
Returns: "Draw"
13
10
100
100
100000000
Returns: "Draw"
10
5
5
5
100
Returns: "Draw"
10
5
5
5
100000
Returns: "Draw"
5
4
3
1
100
Returns: "Draw"
101
100
1
100
200
Returns: "Draw"
2
2
1
10
11
Returns: "Draw"
4
2
1
1
8
Returns: "Draw"
100
50
60
60
1185928
Returns: "Draw"
4
3
4
2
100
Returns: "Draw"
2
1
1
1
7
Returns: "Draw"
100
99
100
100
1000000
Returns: "Draw"
2
1
1
1
100
Returns: "Draw"
1
2
5
5
100
Returns: "Draw"
50
51
50
50
1000
Returns: "Draw"
2
1
1
1
1000
Returns: "Draw"
20
714
871
247
956
Returns: "Liss"
10
9
1
1
1000
Returns: "Draw"
10
9
100
100
100000
Returns: "Draw"
20
20
40
10
100
Returns: "Draw"
5
5
1000
10
50000
Returns: "Draw"
50
50
40
60
100
Returns: "Draw"
10
90
90
10
2000
Returns: "Draw"
9
7
16
16
1000000
Returns: "Draw"
10
4
5
5
100000
Returns: "Ciel"
2
1
1
1
10
Returns: "Draw"
1
1
1
10000
1000
Returns: "Liss"
5
5
1
10
10
Returns: "Liss"
40000001
40000000
1001
1000
100000000
Returns: "Draw"
10000
10
1
18000
10100
Returns: "Draw"
10
9
10
10
10000
Returns: "Draw"
1
1
1
50
50
Returns: "Liss"
10
9
10
10
1000
Returns: "Draw"
100
50
100
100
100000000
Returns: "Draw"
1
1
2
5
3
Returns: "Ciel"
100
50
100
100
10000
Returns: "Draw"
99
101
101
99
10100000
Returns: "Draw"
3
2
4
4
10000
Returns: "Draw"
14
3
1
10
100000
Returns: "Draw"
50
49
49
49
100000
Returns: "Draw"
4
3
4
2
20
Returns: "Draw"
50
11
10
1
1000
Returns: "Ciel"
10
9
5
2
10000000
Returns: "Draw"
3
2
4
2
8
Returns: "Ciel"
5
5
100
200
2001000
Returns: "Draw"
5
4
4
1
100
Returns: "Draw"
5
4
7
5
50
Returns: "Draw"
40000005
40000000
1005
1000
100000000
Returns: "Draw"
7
4
5
7
1000000
Returns: "Draw"
200
100
100
100
10100000
Returns: "Draw"
2
100
2
1
10
Returns: "Liss"
1
100
2
1
100
Returns: "Liss"
10
9
5
2
1000000
Returns: "Draw"
5
10
95
91
10000000
Returns: "Draw"
6
1
1
5
1000000
Returns: "Draw"
2
1
9
10
999
Returns: "Draw"
11
10
5
2
100
Returns: "Draw"
10
9
1
21
20
Returns: "Liss"
4
1
4
6
15
Returns: "Draw"
10
5
10
10
100
Returns: "Draw"
3
3
3
10
1000000
Returns: "Draw"
4
2
1
1
100
Returns: "Draw"
100
99
100
99
1000
Returns: "Draw"
100
50
100
99
100000000
Returns: "Ciel"
10
9
10
10
100
Returns: "Draw"
1
1
9
11
11
Returns: "Liss"