Problem Statement
You tried asking the question to the oracle, but the oracle refused to answer, arguing that it has already answered the question to n other people and is tired of answering that question. Not to give up, you decided to interview each of the n people. Of them, eggCount people told you that the answer was "The egg", while the remaining n-eggCount people claimed that the answer was "The chicken". Confused by the results, you asked the oracle a second time. The oracle still refused to answer the question, but instead explained the results: In order to hide the truth to those unworthy, the oracle has intentionally given the wrong answer to exactly lieCount people. On the other hand, also to avoid sharing the secret, exactly liarCount people (not necessarily those that were told the right answer by the oracle) have intentionally given you the opposite answer to the one given to them by the oracle.
You are still suspiscious that the explanation given by the oracle is another lie. Given
Definition
- Class:
- ChickenOracle
- Method:
- theTruth
- Parameters:
- int, int, int, int
- Returns:
- String
- Method signature:
- String theTruth(int n, int eggCount, int lieCount, int liarCount)
- (be sure your method is public)
Constraints
- n will be between 1 and 1000000, inclusive.
- eggCount, lieCount and liarCount will each be between 0 and n, inclusive.
Examples
10
10
0
0
Returns: "The egg"
In this case, every person has answered correctly.
60
40
0
30
Returns: "The oracle is a lie"
According to the oracle, it has told the correct answer to all 60 people and then 30 of them lied to you. However, it contradicts the fact that 40 people have told you one answer and 20 people have told another one.
60
20
5
25
Returns: "The chicken"
1000
500
250
250
Returns: "Ambiguous"
1
1
1
1
Returns: "The egg"
396517
28344
199491
161224
Returns: "The oracle is a lie"
762085
174382
591906
731022
Returns: "The chicken"
245559
225911
154421
4998
Returns: "The oracle is a lie"
519706
277311
364769
257393
Returns: "The oracle is a lie"
72385
31903
7837
10658
Returns: "The oracle is a lie"
559116
187570
443186
60279
Returns: "The oracle is a lie"
621417
180385
641
450302
Returns: "The oracle is a lie"
498424
25415
45906
448391
Returns: "The egg"
325835
238497
114888
85492
Returns: "The egg"
497223
236730
70808
471449
Returns: "The oracle is a lie"
338919
310645
70422
304279
Returns: "The oracle is a lie"
560054
91058
139916
12375
Returns: "The oracle is a lie"
131781
102924
71553
55554
Returns: "The egg"
756935
331458
620003
751210
Returns: "The oracle is a lie"
298057
282337
59551
196826
Returns: "The oracle is a lie"
348407
128958
128612
125877
Returns: "The egg"
933615
357697
739848
43938
Returns: "The oracle is a lie"
768469
426448
235987
333412
Returns: "The egg"
300410
257594
5989
224034
Returns: "The oracle is a lie"
765658
438802
505627
145878
Returns: "The oracle is a lie"
1
0
0
0
Returns: "The chicken"
1
0
0
1
Returns: "The egg"
1
0
1
0
Returns: "The egg"
1
0
1
1
Returns: "The chicken"
1
1
0
0
Returns: "The egg"
1
1
0
1
Returns: "The chicken"
1
1
1
0
Returns: "The chicken"
1
1
1
1
Returns: "The egg"
962850
19055
64313
85888
Returns: "The oracle is a lie"
862583
486499
301630
493215
Returns: "The chicken"
957641
676883
540997
238519
Returns: "The oracle is a lie"
813451
375748
414019
259012
Returns: "The egg"
945090
793978
512433
54330
Returns: "The oracle is a lie"
835921
339171
513339
776135
Returns: "The oracle is a lie"
965509
361898
778610
858544
Returns: "The oracle is a lie"
849225
184371
641096
611762
Returns: "The oracle is a lie"
802246
37329
473034
165902
Returns: "The oracle is a lie"
969311
361659
296286
208426
Returns: "The oracle is a lie"
819514
421564
230281
54819
Returns: "The oracle is a lie"
925310
874810
775864
411750
Returns: "The oracle is a lie"
811502
533611
171872
75650
Returns: "The oracle is a lie"
916436
817088
178455
579562
Returns: "The oracle is a lie"
951774
929187
897231
57006
Returns: "The chicken"
852037
577253
340259
177278
Returns: "The oracle is a lie"
920552
64517
595740
454457
Returns: "The oracle is a lie"
950051
8270
743079
430550
Returns: "The oracle is a lie"
819775
399440
777548
482922
Returns: "The oracle is a lie"
892059
795464
486421
142293
Returns: "The oracle is a lie"
87
49
44
44
Returns: "The egg"
7
5
4
1
Returns: "The chicken"
97
49
42
57
Returns: "The chicken"
53
26
24
25
Returns: "The egg"
100
52
57
41
Returns: "Ambiguous"
36
25
17
16
Returns: "Ambiguous"
64
37
29
28
Returns: "Ambiguous"
88
48
42
40
Returns: "Ambiguous"
4
1
2
1
Returns: "Ambiguous"
58
27
30
23
Returns: "Ambiguous"
29
17
15
12
Returns: "The chicken"
90
44
44
46
Returns: "Ambiguous"
116434
58220
58285
57939
Returns: "Ambiguous"
244034
122250
121998
122176
Returns: "Ambiguous"
995016
497109
497790
497099
Returns: "Ambiguous"
535929
267649
267975
268246
Returns: "The chicken"
479389
239192
239314
239727
Returns: "The egg"
142582
71453
71321
70944
Returns: "Ambiguous"
632259
316275
315904
315926
Returns: "The egg"
494254
246683
247645
247370
Returns: "Ambiguous"
849338
424843
424517
425628
Returns: "Ambiguous"
91724
46223
45983
45750
Returns: "Ambiguous"
917800
458527
458464
459925
Returns: "Ambiguous"
914513
457351
456571
456982
Returns: "The chicken"
931608
465692
465780
466326
Returns: "Ambiguous"
926724
464301
463897
463006
Returns: "Ambiguous"
921449
460204
459308
460862
Returns: "The chicken"
899919
449839
450367
449254
Returns: "The chicken"
849424
424813
424458
424837
Returns: "Ambiguous"
894545
447647
447092
448149
Returns: "The chicken"
903469
451657
452056
451551
Returns: "The chicken"
998912
499229
498025
499226
Returns: "Ambiguous"
980666
416750
300673
301195
Returns: "Ambiguous"
891946
512498
273483
273821
Returns: "Ambiguous"
982760
417827
301373
301904
Returns: "Ambiguous"
864732
368502
265772
266006
Returns: "Ambiguous"
927095
532371
284804
283940
Returns: "The egg"
950896
913780
19042
18860
Returns: "The egg"
833259
800804
16670
16409
Returns: "The egg"
985823
947734
19414
19401
Returns: "The egg"
943694
906696
18872
18914
Returns: "The egg"
932042
36179
18482
18473
Returns: "The chicken"
909322
26763
17953
900154
Returns: "The egg"
888081
862023
17577
879298
Returns: "The chicken"
981719
28783
19506
972012
Returns: "The egg"
936606
909272
18588
927464
Returns: "The chicken"
851974
25238
17057
843425
Returns: "The egg"
909322
26763
17953
900154
Returns: "The egg"
888081
862023
17577
879298
Returns: "The chicken"
981719
28783
19506
972012
Returns: "The egg"
936606
909272
18588
927464
Returns: "The chicken"
851974
25238
17057
843425
Returns: "The egg"
3
2
2
2
Returns: "The chicken"
10
8
2
3
Returns: "The oracle is a lie"
10
7
4
4
Returns: "The oracle is a lie"
60
23
5
25
Returns: "The oracle is a lie"
60
24
20
5
Returns: "The oracle is a lie"
10
3
8
7
Returns: "The chicken"
6
6
4
4
Returns: "The egg"
999
500
250
250
Returns: "The chicken"
10
7
2
2
Returns: "The oracle is a lie"
6
0
3
2
Returns: "The oracle is a lie"
10
7
8
9
Returns: "The egg"
60
20
5
21
Returns: "The chicken"
1000000
1000000
1000000
1000000
Returns: "The egg"
2
1
1
1
Returns: "The oracle is a lie"
60
22
5
25
Returns: "The chicken"
60
40
40
4
Returns: "The chicken"
12833
3
823
283
Returns: "The oracle is a lie"
10
8
3
2
Returns: "The oracle is a lie"
10
0
10
2
Returns: "The oracle is a lie"
60
20
0
0
Returns: "The oracle is a lie"
6
3
3
1
Returns: "The oracle is a lie"
60
20
6
25
Returns: "The oracle is a lie"
100
96
4
5
Returns: "The oracle is a lie"
60
20
5
23
Returns: "The chicken"
6
3
2
2
Returns: "The oracle is a lie"
5
2
2
1
Returns: "The egg"
5
3
1
2
Returns: "The chicken"
60
30
20
0
Returns: "The oracle is a lie"
1000
345
234
123
Returns: "The chicken"
500
251
250
250
Returns: "The oracle is a lie"
100
90
99
99
Returns: "The oracle is a lie"
10
5
3
4
Returns: "Ambiguous"
100
40
95
35
Returns: "The egg"
100
50
50
2
Returns: "Ambiguous"
100
100
100
100
Returns: "The egg"
501
1
2
1
Returns: "The chicken"
10000
1000
2000
1004
Returns: "The chicken"
1000
501
799
298
Returns: "The chicken"
60
20
7
25
Returns: "The chicken"
4
3
4
4
Returns: "The oracle is a lie"
100
55
50
10
Returns: "The oracle is a lie"
100
90
5
5
Returns: "The egg"
3
1
1
1
Returns: "The egg"
40
25
10
5
Returns: "The egg"
10
10
0
10
Returns: "The chicken"
2
1
2
2
Returns: "The oracle is a lie"
10
0
10
0
Returns: "The egg"
60
4
2
3
Returns: "The oracle is a lie"
5
2
2
2
Returns: "The chicken"
3
1
0
0
Returns: "The oracle is a lie"
10
0
10
10
Returns: "The chicken"
3
2
1
1
Returns: "The chicken"
5
1
4
4
Returns: "The oracle is a lie"
7
5
2
3
Returns: "The chicken"
10
4
2
2
Returns: "The chicken"
2
0
2
0
Returns: "The egg"
80
20
10
5
Returns: "The oracle is a lie"
3
2
0
1
Returns: "The egg"
986
466
967
735
Returns: "The oracle is a lie"
2
1
1
2
Returns: "Ambiguous"
10
3
1
3
Returns: "The oracle is a lie"
5
1
1
1
Returns: "The oracle is a lie"
60
40
5
15
Returns: "The egg"
444136
434320
330890
388736
Returns: "The oracle is a lie"
50
41
10
2
Returns: "The oracle is a lie"
40
20
20
20
Returns: "Ambiguous"
100
30
30
32
Returns: "The chicken"
100
9
10
2
Returns: "The oracle is a lie"
40
12
23
35
Returns: "The chicken"
60
20
5
24
Returns: "The oracle is a lie"
3
1
2
2
Returns: "The egg"
9
5
3
4
Returns: "The chicken"
2
1
0
1
Returns: "Ambiguous"
10
10
10
10
Returns: "The egg"
1000
200
400
400
Returns: "Ambiguous"
10
4
7
4
Returns: "The oracle is a lie"
1000
500
350
300
Returns: "Ambiguous"
4
0
2
4
Returns: "The oracle is a lie"
9170
6554
2308
1848
Returns: "The egg"
4
2
1
3
Returns: "Ambiguous"
100
10
10
2
Returns: "The chicken"
10
8
0
0
Returns: "The oracle is a lie"
60
40
5
25
Returns: "The egg"
60
59
1
1
Returns: "The oracle is a lie"
100
2
75
25
Returns: "The egg"
100
5
3
2
Returns: "The chicken"
60
30
0
30
Returns: "Ambiguous"
10
5
4
3
Returns: "Ambiguous"
5
2
2
3
Returns: "The egg"
60
10
7
13
Returns: "The chicken"
100
10
90
0
Returns: "The egg"
100
100
1
100
Returns: "The oracle is a lie"
6
2
4
2
Returns: "Ambiguous"
10
4
4
2
Returns: "Ambiguous"
14
4
2
4
Returns: "The chicken"
4
1
1
1
Returns: "The oracle is a lie"
60
30
5
30
Returns: "The oracle is a lie"
10
0
1
3
Returns: "The oracle is a lie"
10
10
10
0
Returns: "The chicken"
10
1
3
6
Returns: "The egg"
17
10
8
7
Returns: "The egg"
20
15
2
5
Returns: "The egg"
10
5
3
3
Returns: "The oracle is a lie"
10
3
5
8
Returns: "Ambiguous"
10
6
0
6
Returns: "The chicken"
100000
19
20
13
Returns: "The chicken"
11
10
0
1
Returns: "The egg"
60
38
5
25
Returns: "The egg"
60
20
60
50
Returns: "The oracle is a lie"
8
5
2
2
Returns: "The oracle is a lie"
60
8
6
4
Returns: "The chicken"
6
6
6
6
Returns: "The egg"
1000000
1000000
1
1
Returns: "The egg"
60
60
10
20
Returns: "The oracle is a lie"
100
75
56
23
Returns: "The chicken"
6
4
3
1
Returns: "Ambiguous"
60
20
35
25
Returns: "Ambiguous"
10
3
4
6
Returns: "The oracle is a lie"
10
10
1
1
Returns: "The egg"
60
32
5
25
Returns: "The egg"
10
4
3
2
Returns: "The oracle is a lie"
10
10
7
7
Returns: "The egg"
4
2
2
1
Returns: "The oracle is a lie"
30
20
5
15
Returns: "Ambiguous"
60
40
10
20
Returns: "The egg"
60
40
8
26
Returns: "The egg"
60
20
25
5
Returns: "The chicken"
271
65
239
80
Returns: "The oracle is a lie"
10
2
1
2
Returns: "The oracle is a lie"
6
3
1
3
Returns: "The oracle is a lie"
60
10
50
30
Returns: "The oracle is a lie"
4
0
2
1
Returns: "The oracle is a lie"
16
9
8
4
Returns: "The oracle is a lie"
700
200
400
300
Returns: "Ambiguous"
11
0
4
9
Returns: "The oracle is a lie"
10
6
5
1
Returns: "Ambiguous"
6
5
4
3
Returns: "Ambiguous"
20
8
10
10
Returns: "Ambiguous"
60
20
5
35
Returns: "The egg"
100
10
100
100
Returns: "The oracle is a lie"
4
1
2
3
Returns: "Ambiguous"
50
50
50
50
Returns: "The egg"
10
2
2
2
Returns: "The chicken"
8144
7808
4902
7152
Returns: "The oracle is a lie"
6
5
4
4
Returns: "The oracle is a lie"
4
2
2
2
Returns: "Ambiguous"
1000
600
700
100
Returns: "The chicken"
5
3
4
2
Returns: "The egg"
3282
417
115
491
Returns: "The oracle is a lie"
60
40
40
30
Returns: "Ambiguous"
30
20
6
14
Returns: "Ambiguous"
16
8
2
2
Returns: "The oracle is a lie"
6
3
3
4
Returns: "Ambiguous"
20
8
10
2
Returns: "Ambiguous"
5
2
3
1
Returns: "The chicken"
240
100
120
24
Returns: "Ambiguous"
10
0
6
6
Returns: "The chicken"
2
2
1
1
Returns: "Ambiguous"
8
0
4
2
Returns: "The oracle is a lie"
8
4
3
3
Returns: "Ambiguous"
1000
499
300
300
Returns: "The oracle is a lie"
50
25
26
1
Returns: "Ambiguous"