Task: | Fruit game |
Sender: | Koodi Ilolle |
Submission time: | 2017-09-19 18:48:50 +0300 |
Language: | Java |
Status: | READY |
Result: | TIME LIMIT EXCEEDED |
test | verdict | time | |
---|---|---|---|
#1 | ACCEPTED | 0.16 s | details |
#2 | TIME LIMIT EXCEEDED | -- | details |
#3 | TIME LIMIT EXCEEDED | -- | details |
#4 | TIME LIMIT EXCEEDED | -- | details |
#5 | TIME LIMIT EXCEEDED | -- | details |
#6 | TIME LIMIT EXCEEDED | -- | details |
#7 | TIME LIMIT EXCEEDED | -- | details |
#8 | TIME LIMIT EXCEEDED | -- | details |
#9 | TIME LIMIT EXCEEDED | -- | details |
#10 | TIME LIMIT EXCEEDED | -- | details |
#11 | TIME LIMIT EXCEEDED | -- | details |
#12 | TIME LIMIT EXCEEDED | -- | details |
#13 | TIME LIMIT EXCEEDED | -- | details |
#14 | TIME LIMIT EXCEEDED | -- | details |
#15 | TIME LIMIT EXCEEDED | -- | details |
#16 | TIME LIMIT EXCEEDED | -- | details |
#17 | TIME LIMIT EXCEEDED | -- | details |
#18 | TIME LIMIT EXCEEDED | -- | details |
#19 | TIME LIMIT EXCEEDED | -- | details |
#20 | TIME LIMIT EXCEEDED | -- | details |
#21 | TIME LIMIT EXCEEDED | -- | details |
#22 | TIME LIMIT EXCEEDED | -- | details |
#23 | TIME LIMIT EXCEEDED | -- | details |
#24 | TIME LIMIT EXCEEDED | -- | details |
#25 | TIME LIMIT EXCEEDED | -- | details |
#26 | TIME LIMIT EXCEEDED | -- | details |
#27 | TIME LIMIT EXCEEDED | -- | details |
#28 | TIME LIMIT EXCEEDED | -- | details |
#29 | TIME LIMIT EXCEEDED | -- | details |
#30 | TIME LIMIT EXCEEDED | -- | details |
#31 | TIME LIMIT EXCEEDED | -- | details |
#32 | TIME LIMIT EXCEEDED | -- | details |
#33 | TIME LIMIT EXCEEDED | -- | details |
#34 | TIME LIMIT EXCEEDED | -- | details |
#35 | TIME LIMIT EXCEEDED | -- | details |
#36 | TIME LIMIT EXCEEDED | -- | details |
#37 | TIME LIMIT EXCEEDED | -- | details |
#38 | TIME LIMIT EXCEEDED | -- | details |
#39 | TIME LIMIT EXCEEDED | -- | details |
#40 | TIME LIMIT EXCEEDED | -- | details |
#41 | TIME LIMIT EXCEEDED | -- | details |
#42 | TIME LIMIT EXCEEDED | -- | details |
#43 | TIME LIMIT EXCEEDED | -- | details |
#44 | TIME LIMIT EXCEEDED | -- | details |
#45 | TIME LIMIT EXCEEDED | -- | details |
#46 | TIME LIMIT EXCEEDED | -- | details |
#47 | TIME LIMIT EXCEEDED | -- | details |
#48 | TIME LIMIT EXCEEDED | -- | details |
#49 | TIME LIMIT EXCEEDED | -- | details |
#50 | TIME LIMIT EXCEEDED | -- | details |
#51 | TIME LIMIT EXCEEDED | -- | details |
#52 | TIME LIMIT EXCEEDED | -- | details |
#53 | TIME LIMIT EXCEEDED | -- | details |
#54 | TIME LIMIT EXCEEDED | -- | details |
#55 | TIME LIMIT EXCEEDED | -- | details |
#56 | TIME LIMIT EXCEEDED | -- | details |
Code
import java.util.*; /* * To change this license header, choose License Headers in Project Properties. * To change this template file, choose Tools | Templates * and open the template in the editor. */ /** * * @author henpeura */ public class TastyApples { private enum Player { UOLEVI, MAIJA; } public static void main(String[] args) { IO io = new IO(); int length = io.nextInt(); for (int i = 0; i < length; i++) { io.println(playGame(io.next())); } io.close(); } private static String playGame(String game) { ArrayList<Character> gameState = new ArrayList<>(); int numberOfA = 0; int numberOfB = 0; char[] arr = game.toCharArray(); for (int i = 0; i < arr.length; i++) { if (arr[i] == 'A') { numberOfA++; } if (arr[i] == 'B') { numberOfB++; } gameState.add(arr[i]); } int ci = gameState.indexOf('C'); // Uolevi aloittaa Player vuoro = Player.MAIJA; while (true) { if (numberOfA == 0) { return "Uolevi"; } else if (numberOfB == 0) { return "Maija"; } if (vuoro == Player.UOLEVI) { vuoro = Player.MAIJA; } else { vuoro = Player.UOLEVI; } if (vuoro == Player.UOLEVI) { if (inBounds(gameState.size(), ci) && gameState.get(ci - 1) == 'A' && gameState.get(ci + 1) == 'A') { if (inBounds(gameState.size(), ci - 1) && gameState.get(ci - 2) != 'B') { gameState.remove(ci - 1); numberOfA--; ci--; } else if (inBounds(gameState.size(), ci + 1) && gameState.get(ci + 2) != 'B') { gameState.remove(ci + 1); numberOfA--; } else { if (gameState.get(ci - 1) != 'B' && !inBounds(gameState.size(), ci - 2)) { gameState.remove(ci - 1); numberOfA--; ci--; } else if (inBounds(gameState.size(), ci + 1) && gameState.get(ci + 1) != 'B' && !inBounds(gameState.size(), ci + 2)) { gameState.remove(ci + 1); numberOfA--; } } } else if (ci + 1 < gameState.size() && gameState.get(ci + 1) == 'A') { gameState.remove(ci + 1); numberOfA--; } else if (ci - 1 > 0 && gameState.get(ci - 1) == 'A') { gameState.remove(ci - 1); numberOfA--; ci--; } } else { if (inBounds(gameState.size(), ci) && gameState.get(ci - 1) == 'B' && gameState.get(ci + 1) == 'B') { if (inBounds(gameState.size(), ci - 1) && gameState.get(ci - 2) != 'A') { gameState.remove(ci - 1); numberOfB--; ci--; } else if (inBounds(gameState.size(), ci + 1) && gameState.get(ci + 2) != 'A') { gameState.remove(ci + 1); numberOfB--; } else { if (gameState.get(ci - 1) != 'A' && !inBounds(gameState.size(), ci - 2)) { gameState.remove(ci - 1); numberOfB--; ci--; } else if (inBounds(gameState.size(), ci + 1) && gameState.get(ci + 1) != 'A' && !inBounds(gameState.size(), ci + 2)) { gameState.remove(ci + 1); numberOfB--; } } } else if (ci + 1 < gameState.size() && gameState.get(ci + 1) == 'B') { gameState.remove(ci + 1); numberOfB--; } else if (ci - 1 > 0 && gameState.get(ci - 1) == 'B') { gameState.remove(ci - 1); numberOfB--; ci--; } } } } private static boolean inBounds(int size, int n) { return n - 1 >= 0 && n + 1 < size; } /** * * @param game * @param ci * @return */ private static Player hasBetterMove(ArrayList<Character> game, int ci) { int aCount = 0; int bCount = 0; return Player.MAIJA; } }
Test details
Test 1
Verdict: ACCEPTED
input |
---|
3 AAACBB CABAB BBBBCBA |
correct output |
---|
Maija Uolevi Maija |
user output |
---|
Maija Uolevi Maija |
Test 2
Verdict: TIME LIMIT EXCEEDED
input |
---|
10 BCAA ABABBCBBAAA BAAABBABCAAA BABAACA ... |
correct output |
---|
Maija Maija Uolevi Uolevi Uolevi ... |
user output |
---|
(empty) |
Test 3
Verdict: TIME LIMIT EXCEEDED
input |
---|
10 AACBBAABB CAABBBABBB AAABCBBBBBA AACBBBBA ... |
correct output |
---|
Uolevi Uolevi Maija Maija Uolevi ... |
user output |
---|
(empty) |
Test 4
Verdict: TIME LIMIT EXCEEDED
input |
---|
10 BCAA ABBAAABCAAB BBBABABCABBA ABACABB ... |
correct output |
---|
Maija Maija Maija Uolevi Uolevi ... |
user output |
---|
(empty) |
Test 5
Verdict: TIME LIMIT EXCEEDED
input |
---|
10 AABACBABB BBBBBACBBA ABBCBBABABB BAABCBBA ... |
correct output |
---|
Maija Maija Maija Maija Maija ... |
user output |
---|
(empty) |
Test 6
Verdict: TIME LIMIT EXCEEDED
input |
---|
10 BBBCBABBAAABBABAAAABABBBBABABB... |
correct output |
---|
Maija Uolevi Uolevi Maija Maija ... |
user output |
---|
(empty) |
Test 7
Verdict: TIME LIMIT EXCEEDED
input |
---|
10 BBBBAABBBBBBBBABBBAABBBBBABBAA... |
correct output |
---|
Maija Uolevi Uolevi Uolevi Uolevi ... |
user output |
---|
(empty) |
Test 8
Verdict: TIME LIMIT EXCEEDED
input |
---|
10 BBBBBAABAAAABAAAABABABBAAABBAA... |
correct output |
---|
Uolevi Uolevi Uolevi Uolevi Uolevi ... |
user output |
---|
(empty) |
Test 9
Verdict: TIME LIMIT EXCEEDED
input |
---|
10 AABAAAAAAAAAABAAAABABBAAAAAABB... |
correct output |
---|
Uolevi Maija Maija Maija Uolevi ... |
user output |
---|
(empty) |
Test 10
Verdict: TIME LIMIT EXCEEDED
input |
---|
10 ABABBBABABABBAABABAAABBBABAABB... |
correct output |
---|
Maija Maija Uolevi Maija Maija ... |
user output |
---|
(empty) |
Test 11
Verdict: TIME LIMIT EXCEEDED
input |
---|
10 AABBBAAABBABAAAAAABBBBABBBBBBB... |
correct output |
---|
Maija Maija Maija Uolevi Maija ... |
user output |
---|
(empty) |
Test 12
Verdict: TIME LIMIT EXCEEDED
input |
---|
1 AABBBABABAABBBABBBABABABBAAABB... |
correct output |
---|
Maija |
user output |
---|
(empty) |
Test 13
Verdict: TIME LIMIT EXCEEDED
input |
---|
1 BABBAABABBABBAAAABBABBBBABBBAB... |
correct output |
---|
Uolevi |
user output |
---|
(empty) |
Test 14
Verdict: TIME LIMIT EXCEEDED
input |
---|
10 ABAAABBAABAABBAAABAABBABBABBAA... |
correct output |
---|
Maija Maija Maija Uolevi Maija ... |
user output |
---|
(empty) |
Test 15
Verdict: TIME LIMIT EXCEEDED
input |
---|
10 AAAAABABBBBABAAABAAAAABBBBBABB... |
correct output |
---|
Maija Uolevi Maija Uolevi Uolevi ... |
user output |
---|
(empty) |
Test 16
Verdict: TIME LIMIT EXCEEDED
input |
---|
100 BAAABBAAABAABBBBAAAAABAABABABA... |
correct output |
---|
Uolevi Uolevi Uolevi Maija Maija ... |
user output |
---|
(empty) |
Test 17
Verdict: TIME LIMIT EXCEEDED
input |
---|
100 ABABABBBBBAABBBBBAABABAAAAABBB... |
correct output |
---|
Maija Uolevi Maija Uolevi Uolevi ... |
user output |
---|
(empty) |
Test 18
Verdict: TIME LIMIT EXCEEDED
input |
---|
1000 ABABBABBBBBBBBBAAAAAABBBBABBAB... |
correct output |
---|
Maija Maija Maija Uolevi Maija ... |
user output |
---|
(empty) |
Test 19
Verdict: TIME LIMIT EXCEEDED
input |
---|
1000 BABBBAABBBBAABABAAABAAABBBBBBA... |
correct output |
---|
Maija Uolevi Maija Maija Uolevi ... |
user output |
---|
(empty) |
Test 20
Verdict: TIME LIMIT EXCEEDED
input |
---|
10000 BBABBABBABBCAA AABBABAABBABBBAAAAABAAAAAAAAAB... |
correct output |
---|
Uolevi Maija Uolevi Maija Maija ... |
user output |
---|
(empty) |
Test 21
Verdict: TIME LIMIT EXCEEDED
input |
---|
10000 BABABBBBBBABBAAABBBBAABBAAABBB... |
correct output |
---|
Uolevi Uolevi Uolevi Maija Uolevi ... |
user output |
---|
(empty) |
Test 22
Verdict: TIME LIMIT EXCEEDED
input |
---|
10000 AAAAAACBBAABA ACBAABBBBBAB ABACBAAAABAA BBBBABBABACB ... |
correct output |
---|
Maija Uolevi Maija Uolevi Uolevi ... |
user output |
---|
(empty) |
Test 23
Verdict: TIME LIMIT EXCEEDED
input |
---|
10000 BAAABABBBBCAB BBABABAACBAB ABABBABCB BBABBAAABAACB ... |
correct output |
---|
Uolevi Uolevi Maija Uolevi Uolevi ... |
user output |
---|
(empty) |
Test 24
Verdict: TIME LIMIT EXCEEDED
input |
---|
10000 BABBBABABCAA AABBBBBABBABC AAABBBAABAC AAABBAACAAA ... |
correct output |
---|
Uolevi Maija Maija Maija Uolevi ... |
user output |
---|
(empty) |
Test 25
Verdict: TIME LIMIT EXCEEDED
input |
---|
10000 BBBCABBBBAA CBABBBABBABB ABBBAAABBBCAA BBBCBABBAABAB ... |
correct output |
---|
Maija Uolevi Maija Uolevi Uolevi ... |
user output |
---|
(empty) |
Test 26
Verdict: TIME LIMIT EXCEEDED
input |
---|
10000 ABAABBBBBBCAB BBBBBBAAABBAC BCABBBBBBBBBB ACBAAAAAAAB ... |
correct output |
---|
Maija Uolevi Uolevi Uolevi Maija ... |
user output |
---|
(empty) |
Test 27
Verdict: TIME LIMIT EXCEEDED
input |
---|
10000 ABBCBBABABB ABCBBBAABBBAB ABAABBCBBABBA BCBBBAAAAABAB ... |
correct output |
---|
Maija Uolevi Maija Uolevi Maija ... |
user output |
---|
(empty) |
Test 28
Verdict: TIME LIMIT EXCEEDED
input |
---|
10000 BCBBBBBBAABA AAAAABCBABABB ABBAACAAAABAB AABACBAABBBA ... |
correct output |
---|
Maija Maija Uolevi Maija Maija ... |
user output |
---|
(empty) |
Test 29
Verdict: TIME LIMIT EXCEEDED
input |
---|
10000 ABAABBAABABCB BBCBAABBBAAAA BBBAAACBAABB BBAAABAAACAAB ... |
correct output |
---|
Maija Maija Uolevi Uolevi Maija ... |
user output |
---|
(empty) |
Test 30
Verdict: TIME LIMIT EXCEEDED
input |
---|
10000 BBBBCAAAAABA ABBABACAAABB BAABBABACBABA AAAAACAAABA ... |
correct output |
---|
Maija Uolevi Uolevi Maija Maija ... |
user output |
---|
(empty) |
Test 31
Verdict: TIME LIMIT EXCEEDED
input |
---|
8124 BCAAABABB ABBAACABABABA BAAABBACABBAB BBABABBACAAAB ... |
correct output |
---|
Uolevi Maija Uolevi Uolevi Maija ... |
user output |
---|
(empty) |
Test 32
Verdict: TIME LIMIT EXCEEDED
input |
---|
1 AABBABABAAAAAABAAABBBBABAAABBA... |
correct output |
---|
Maija |
user output |
---|
(empty) |
Test 33
Verdict: TIME LIMIT EXCEEDED
input |
---|
2 BAAABBAAABBBBBBABBABBBBABABBBA... |
correct output |
---|
Uolevi Maija |
user output |
---|
(empty) |
Test 34
Verdict: TIME LIMIT EXCEEDED
input |
---|
2 ABBBBBAAABBABBBBBABBBBABBBBBBB... |
correct output |
---|
Maija Maija |
user output |
---|
(empty) |
Test 35
Verdict: TIME LIMIT EXCEEDED
input |
---|
3 ABBBABAABAABBBABBAABAAABBBBAAB... |
correct output |
---|
Uolevi Uolevi Maija |
user output |
---|
(empty) |
Test 36
Verdict: TIME LIMIT EXCEEDED
input |
---|
3 AABBABABABBABBBABAABBBBBAABBBB... |
correct output |
---|
Maija Maija Uolevi |
user output |
---|
(empty) |
Test 37
Verdict: TIME LIMIT EXCEEDED
input |
---|
4 ABBAAABAAABBABAAAAAAAAAAAABAAB... |
correct output |
---|
Maija Uolevi Maija Uolevi |
user output |
---|
(empty) |
Test 38
Verdict: TIME LIMIT EXCEEDED
input |
---|
4 AAAAAAAAAAAAAAAAAAAABAAABAAAAA... |
correct output |
---|
Uolevi Maija Uolevi Uolevi |
user output |
---|
(empty) |
Test 39
Verdict: TIME LIMIT EXCEEDED
input |
---|
5 BBAAAAAABAAABAABAAAAABAAAAAAAA... |
correct output |
---|
Uolevi Uolevi Uolevi Maija Uolevi |
user output |
---|
(empty) |
Test 40
Verdict: TIME LIMIT EXCEEDED
input |
---|
5 BBABBBBABABBBABAAAABBBBBBBBBBA... |
correct output |
---|
Maija Uolevi Maija Maija Maija |
user output |
---|
(empty) |
Test 41
Verdict: TIME LIMIT EXCEEDED
input |
---|
10 BBAAAABAAAAAAAABBAAAAAAAAAAAAA... |
correct output |
---|
Uolevi Uolevi Maija Maija Maija ... |
user output |
---|
(empty) |
Test 42
Verdict: TIME LIMIT EXCEEDED
input |
---|
10 BBAAABABABBBABBAAAAABABABAABAB... |
correct output |
---|
Uolevi Uolevi Uolevi Maija Uolevi ... |
user output |
---|
(empty) |
Test 43
Verdict: TIME LIMIT EXCEEDED
input |
---|
50 BBBBBBBBABBBBBBBBBBBBABBBBABBB... |
correct output |
---|
Maija Maija Maija Uolevi Uolevi ... |
user output |
---|
(empty) |
Test 44
Verdict: TIME LIMIT EXCEEDED
input |
---|
50 BBABBBBBBABAABBBBABBAAABABBABB... |
correct output |
---|
Maija Maija Maija Uolevi Uolevi ... |
user output |
---|
(empty) |
Test 45
Verdict: TIME LIMIT EXCEEDED
input |
---|
100 ABBBBBBBBBBBABBABBBBBBBBBBBBBB... |
correct output |
---|
Maija Uolevi Maija Uolevi Maija ... |
user output |
---|
(empty) |
Test 46
Verdict: TIME LIMIT EXCEEDED
input |
---|
100 ABBBBABBBAAAABBBAAAABBABAABABB... |
correct output |
---|
Maija Maija Maija Uolevi Uolevi ... |
user output |
---|
(empty) |
Test 47
Verdict: TIME LIMIT EXCEEDED
input |
---|
500 ABBAABBAAABAABAAAABBABBABABABA... |
correct output |
---|
Maija Maija Uolevi Uolevi Uolevi ... |
user output |
---|
(empty) |
Test 48
Verdict: TIME LIMIT EXCEEDED
input |
---|
500 ABBBBABBBBBBBBABBBBBBBBBBBBABB... |
correct output |
---|
Maija Maija Maija Maija Maija ... |
user output |
---|
(empty) |
Test 49
Verdict: TIME LIMIT EXCEEDED
input |
---|
1000 BAAAACAAAAAAAAAAAAAAAAAAAAAAAA... |
correct output |
---|
Uolevi Maija Uolevi Uolevi Uolevi ... |
user output |
---|
(empty) |
Test 50
Verdict: TIME LIMIT EXCEEDED
input |
---|
1000 BAAABAABAABAAABAAAAAAABAAAAAAA... |
correct output |
---|
Uolevi Uolevi Uolevi Uolevi Maija ... |
user output |
---|
(empty) |
Test 51
Verdict: TIME LIMIT EXCEEDED
input |
---|
5000 BAAAABBAABABAABAABAAAABBAAAAAA... |
correct output |
---|
Uolevi Maija Maija Maija Maija ... |
user output |
---|
(empty) |
Test 52
Verdict: TIME LIMIT EXCEEDED
input |
---|
5000 BBBBBBABABBABABBBABBBBBBBBBBAA... |
correct output |
---|
Maija Uolevi Uolevi Maija Uolevi ... |
user output |
---|
(empty) |
Test 53
Verdict: TIME LIMIT EXCEEDED
input |
---|
10000 AABAABCABBAAAB ABBAABAAABAABAAABABBBBBABCBBBA... |
correct output |
---|
Uolevi Uolevi Maija Maija Maija ... |
user output |
---|
(empty) |
Test 54
Verdict: TIME LIMIT EXCEEDED
input |
---|
10000 AABBBCBBABBBABBBBBBBABBBBBBBBA... |
correct output |
---|
Maija Uolevi Uolevi Maija Uolevi ... |
user output |
---|
(empty) |
Test 55
Verdict: TIME LIMIT EXCEEDED
input |
---|
12 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA... |
correct output |
---|
Uolevi Maija Uolevi Uolevi Maija ... |
user output |
---|
(empty) |
Test 56
Verdict: TIME LIMIT EXCEEDED
input |
---|
12 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA... |
correct output |
---|
Uolevi Maija Uolevi Uolevi Maija ... |
user output |
---|
(empty) |