CSES - KILO 2017 3/5 - Results
Submission details
Task:Fruit game
Sender:Viljamin opetuslapset
Submission time:2017-09-19 19:00:07 +0300
Language:Java
Status:READY
Result:
Test results
testverdicttime
#1ACCEPTED0.13 sdetails
#20.12 sdetails
#30.12 sdetails
#4ACCEPTED0.15 sdetails
#5ACCEPTED0.16 sdetails
#6ACCEPTED0.12 sdetails
#70.13 sdetails
#8ACCEPTED0.15 sdetails
#9ACCEPTED0.14 sdetails
#10ACCEPTED0.26 sdetails
#11ACCEPTED0.26 sdetails
#12ACCEPTED0.57 sdetails
#13ACCEPTED0.57 sdetails
#14ACCEPTED0.83 sdetails
#15ACCEPTED0.70 sdetails
#16ACCEPTED0.57 sdetails
#17ACCEPTED0.63 sdetails
#180.25 sdetails
#19ACCEPTED0.58 sdetails
#200.13 sdetails
#210.15 sdetails
#220.13 sdetails
#230.16 sdetails
#240.14 sdetails
#250.12 sdetails
#260.11 sdetails
#270.14 sdetails
#280.11 sdetails
#290.13 sdetails
#300.17 sdetails
#310.14 sdetails
#32ACCEPTED0.59 sdetails
#33ACCEPTED0.68 sdetails
#34ACCEPTED0.65 sdetails
#35ACCEPTED0.68 sdetails
#36ACCEPTED0.74 sdetails
#37ACCEPTED0.64 sdetails
#38ACCEPTED0.89 sdetails
#39ACCEPTED0.74 sdetails
#40ACCEPTED0.65 sdetails
#41ACCEPTED0.88 sdetails
#42ACCEPTED0.67 sdetails
#43ACCEPTED0.66 sdetails
#44ACCEPTED0.67 sdetails
#45ACCEPTED0.62 sdetails
#46ACCEPTED0.68 sdetails
#47ACCEPTED0.62 sdetails
#48ACCEPTED0.62 sdetails
#490.61 sdetails
#50ACCEPTED0.61 sdetails
#510.23 sdetails
#52ACCEPTED0.75 sdetails
#530.17 sdetails
#54ACCEPTED0.86 sdetails
#55ACCEPTED0.12 sdetails
#56ACCEPTED0.82 sdetails

Code

import java.util.ArrayDeque;
import java.util.Deque;
import java.util.LinkedList;
import java.util.List;
import java.util.PriorityQueue;
import java.util.Queue;
import java.util.Stack;

/**
 *
 * @author juliuuus
 */
public class Main {

    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {
        IO io = new IO();

        int t = io.nextInt();
        String[] voittajat = new String[t];

        for (int i = 0; i < t; i++) {
            String peli = io.next();
            long banaanit = 0;
            long omenat = 0;
            long syodytomenat = 0;
            long syodytbanaanit = 0;
            Stack<Character> jono1 = new Stack<>();
            Stack<Character> jono2 = new Stack<>();

            String[] osat = peli.split("C");

//            if (peli.charAt(0) == peli.charAt(peli.length() - 1)) {
//                voittajat[i] = (peli.charAt(0) == 'A') ? "Maija" : "Uolevi";
////                System.out.println("mayhem");
//                continue;
//            }
            for (char j : osat[0].toCharArray()) {
                if (j == 'A') {
                    omenat++;
                }
                if (j == 'B') {
                    banaanit++;
                }
                jono1.add(j);
            }
            char[] q = osat[1].toCharArray();
            for (int m = osat[1].length() - 1; m >= 0; m--) {
//                char jee = q[m];
                if (q[m] == 'A') {
                    omenat++;
                }
                if (q[m] == 'B') {
                    banaanit++;
                }

                jono2.add(q[m]);
            }

            Stack<Character> uolevinPino = (peli.charAt(0) == 'A') ? jono1 : jono2;

            Stack<Character> maijanPino = (peli.charAt(0) == 'A') ? jono2 : jono1;

//            System.out.println(maijanPino);
            int vuoro = 2;

            while (!uolevinPino.empty() || !maijanPino.empty()) {

                if (vuoro % 2 == 0) {
//                    UOLEVIN VUORO
                    if (!uolevinPino.empty() && uolevinPino.peek() == 'A') {
                        uolevinPino.pop();
                        syodytomenat++;
                    } else if (!maijanPino.empty() && maijanPino.peek() == 'A') {
                        maijanPino.pop();
                        syodytomenat++;

                    }
                } else {
//                   MAIJAN VUORO
                    if (!maijanPino.empty() && maijanPino.peek() == 'B') {
                        maijanPino.pop();
                        syodytbanaanit++;
                    } else if (!uolevinPino.empty() && uolevinPino.peek() == 'B') {
                        uolevinPino.pop();
                        syodytbanaanit++;
                    }
                }

                if (syodytomenat == omenat) {
                    voittajat[i] = "Uolevi";
                    break;
                } else if (syodytbanaanit == banaanit) {
                    voittajat[i] = "Maija";
                    break;
                }
                vuoro++;
//                System.out.println(maijanPino + " " + uolevinPino);

            }

        }
        for (int p = 0; p < t; p++) {
            io.println(voittajat[p]);
        }

        io.close();
    }

}

Test details

Test 1

Verdict: ACCEPTED

input
3
AAACBB
CABAB
BBBBCBA

correct output
Maija
Uolevi
Maija

user output
Maija
Uolevi
Maija

Test 2

Verdict:

input
10
BCAA
ABABBCBBAAA
BAAABBABCAAA
BABAACA
...

correct output
Maija
Maija
Uolevi
Uolevi
Uolevi
...

user output
(empty)

Error:
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 1
	at Main.main(Main.java:50)

Test 3

Verdict:

input
10
AACBBAABB
CAABBBABBB
AAABCBBBBBA
AACBBBBA
...

correct output
Uolevi
Uolevi
Maija
Maija
Uolevi
...

user output
(empty)

Error:
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 1
	at Main.main(Main.java:50)

Test 4

Verdict: ACCEPTED

input
10
BCAA
ABBAAABCAAB
BBBABABCABBA
ABACABB
...

correct output
Maija
Maija
Maija
Uolevi
Uolevi
...

user output
Maija
Maija
Maija
Uolevi
Uolevi
...

Test 5

Verdict: ACCEPTED

input
10
AABACBABB
BBBBBACBBA
ABBCBBABABB
BAABCBBA
...

correct output
Maija
Maija
Maija
Maija
Maija
...

user output
Maija
Maija
Maija
Maija
Maija
...

Test 6

Verdict: ACCEPTED

input
10
BBBCBABBAAABBABAAAABABBBBABABB...

correct output
Maija
Uolevi
Uolevi
Maija
Maija
...

user output
Maija
Uolevi
Uolevi
Maija
Maija
...

Test 7

Verdict:

input
10
BBBBAABBBBBBBBABBBAABBBBBABBAA...

correct output
Maija
Uolevi
Uolevi
Uolevi
Uolevi
...

user output
(empty)

Error:
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 1
	at Main.main(Main.java:50)

Test 8

Verdict: ACCEPTED

input
10
BBBBBAABAAAABAAAABABABBAAABBAA...

correct output
Uolevi
Uolevi
Uolevi
Uolevi
Uolevi
...

user output
Uolevi
Uolevi
Uolevi
Uolevi
Uolevi
...

Test 9

Verdict: ACCEPTED

input
10
AABAAAAAAAAAABAAAABABBAAAAAABB...

correct output
Uolevi
Maija
Maija
Maija
Uolevi
...

user output
Uolevi
Maija
Maija
Maija
Uolevi
...

Test 10

Verdict: ACCEPTED

input
10
ABABBBABABABBAABABAAABBBABAABB...

correct output
Maija
Maija
Uolevi
Maija
Maija
...

user output
Maija
Maija
Uolevi
Maija
Maija
...

Test 11

Verdict: ACCEPTED

input
10
AABBBAAABBABAAAAAABBBBABBBBBBB...

correct output
Maija
Maija
Maija
Uolevi
Maija
...

user output
Maija
Maija
Maija
Uolevi
Maija
...

Test 12

Verdict: ACCEPTED

input
1
AABBBABABAABBBABBBABABABBAAABB...

correct output
Maija

user output
Maija

Test 13

Verdict: ACCEPTED

input
1
BABBAABABBABBAAAABBABBBBABBBAB...

correct output
Uolevi

user output
Uolevi

Test 14

Verdict: ACCEPTED

input
10
ABAAABBAABAABBAAABAABBABBABBAA...

correct output
Maija
Maija
Maija
Uolevi
Maija
...

user output
Maija
Maija
Maija
Uolevi
Maija
...

Test 15

Verdict: ACCEPTED

input
10
AAAAABABBBBABAAABAAAAABBBBBABB...

correct output
Maija
Uolevi
Maija
Uolevi
Uolevi
...

user output
Maija
Uolevi
Maija
Uolevi
Uolevi
...

Test 16

Verdict: ACCEPTED

input
100
BAAABBAAABAABBBBAAAAABAABABABA...

correct output
Uolevi
Uolevi
Uolevi
Maija
Maija
...

user output
Uolevi
Uolevi
Uolevi
Maija
Maija
...

Test 17

Verdict: ACCEPTED

input
100
ABABABBBBBAABBBBBAABABAAAAABBB...

correct output
Maija
Uolevi
Maija
Uolevi
Uolevi
...

user output
Maija
Uolevi
Maija
Uolevi
Uolevi
...

Test 18

Verdict:

input
1000
ABABBABBBBBBBBBAAAAAABBBBABBAB...

correct output
Maija
Maija
Maija
Uolevi
Maija
...

user output
(empty)

Error:
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 1
	at Main.main(Main.java:50)

Test 19

Verdict: ACCEPTED

input
1000
BABBBAABBBBAABABAAABAAABBBBBBA...

correct output
Maija
Uolevi
Maija
Maija
Uolevi
...

user output
Maija
Uolevi
Maija
Maija
Uolevi
...

Test 20

Verdict:

input
10000
BBABBABBABBCAA
AABBABAABBABBBAAAAABAAAAAAAAAB...

correct output
Uolevi
Maija
Uolevi
Maija
Maija
...

user output
(empty)

Error:
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 1
	at Main.main(Main.java:50)

Test 21

Verdict:

input
10000
BABABBBBBBABBAAABBBBAABBAAABBB...

correct output
Uolevi
Uolevi
Uolevi
Maija
Uolevi
...

user output
(empty)

Error:
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 1
	at Main.main(Main.java:50)

Test 22

Verdict:

input
10000
AAAAAACBBAABA
ACBAABBBBBAB
ABACBAAAABAA
BBBBABBABACB
...

correct output
Maija
Uolevi
Maija
Uolevi
Uolevi
...

user output
(empty)

Error:
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 1
	at Main.main(Main.java:50)

Test 23

Verdict:

input
10000
BAAABABBBBCAB
BBABABAACBAB
ABABBABCB
BBABBAAABAACB
...

correct output
Uolevi
Uolevi
Maija
Uolevi
Uolevi
...

user output
(empty)

Error:
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 1
	at Main.main(Main.java:50)

Test 24

Verdict:

input
10000
BABBBABABCAA
AABBBBBABBABC
AAABBBAABAC
AAABBAACAAA
...

correct output
Uolevi
Maija
Maija
Maija
Uolevi
...

user output
(empty)

Error:
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 1
	at Main.main(Main.java:50)

Test 25

Verdict:

input
10000
BBBCABBBBAA
CBABBBABBABB
ABBBAAABBBCAA
BBBCBABBAABAB
...

correct output
Maija
Uolevi
Maija
Uolevi
Uolevi
...

user output
(empty)

Error:
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 1
	at Main.main(Main.java:50)

Test 26

Verdict:

input
10000
ABAABBBBBBCAB
BBBBBBAAABBAC
BCABBBBBBBBBB
ACBAAAAAAAB
...

correct output
Maija
Uolevi
Uolevi
Uolevi
Maija
...

user output
(empty)

Error:
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 1
	at Main.main(Main.java:50)

Test 27

Verdict:

input
10000
ABBCBBABABB
ABCBBBAABBBAB
ABAABBCBBABBA
BCBBBAAAAABAB
...

correct output
Maija
Uolevi
Maija
Uolevi
Maija
...

user output
(empty)

Error:
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 1
	at Main.main(Main.java:50)

Test 28

Verdict:

input
10000
BCBBBBBBAABA
AAAAABCBABABB
ABBAACAAAABAB
AABACBAABBBA
...

correct output
Maija
Maija
Uolevi
Maija
Maija
...

user output
(empty)

Error:
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 1
	at Main.main(Main.java:50)

Test 29

Verdict:

input
10000
ABAABBAABABCB
BBCBAABBBAAAA
BBBAAACBAABB
BBAAABAAACAAB
...

correct output
Maija
Maija
Uolevi
Uolevi
Maija
...

user output
(empty)

Error:
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 1
	at Main.main(Main.java:50)

Test 30

Verdict:

input
10000
BBBBCAAAAABA
ABBABACAAABB
BAABBABACBABA
AAAAACAAABA
...

correct output
Maija
Uolevi
Uolevi
Maija
Maija
...

user output
(empty)

Error:
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 1
	at Main.main(Main.java:50)

Test 31

Verdict:

input
8124
BCAAABABB
ABBAACABABABA
BAAABBACABBAB
BBABABBACAAAB
...

correct output
Uolevi
Maija
Uolevi
Uolevi
Maija
...

user output
(empty)

Error:
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 1
	at Main.main(Main.java:50)

Test 32

Verdict: ACCEPTED

input
1
AABBABABAAAAAABAAABBBBABAAABBA...

correct output
Maija

user output
Maija

Test 33

Verdict: ACCEPTED

input
2
BAAABBAAABBBBBBABBABBBBABABBBA...

correct output
Uolevi
Maija

user output
Uolevi
Maija

Test 34

Verdict: ACCEPTED

input
2
ABBBBBAAABBABBBBBABBBBABBBBBBB...

correct output
Maija
Maija

user output
Maija
Maija

Test 35

Verdict: ACCEPTED

input
3
ABBBABAABAABBBABBAABAAABBBBAAB...

correct output
Uolevi
Uolevi
Maija

user output
Uolevi
Uolevi
Maija

Test 36

Verdict: ACCEPTED

input
3
AABBABABABBABBBABAABBBBBAABBBB...

correct output
Maija
Maija
Uolevi

user output
Maija
Maija
Uolevi

Test 37

Verdict: ACCEPTED

input
4
ABBAAABAAABBABAAAAAAAAAAAABAAB...

correct output
Maija
Uolevi
Maija
Uolevi

user output
Maija
Uolevi
Maija
Uolevi

Test 38

Verdict: ACCEPTED

input
4
AAAAAAAAAAAAAAAAAAAABAAABAAAAA...

correct output
Uolevi
Maija
Uolevi
Uolevi

user output
Uolevi
Maija
Uolevi
Uolevi

Test 39

Verdict: ACCEPTED

input
5
BBAAAAAABAAABAABAAAAABAAAAAAAA...

correct output
Uolevi
Uolevi
Uolevi
Maija
Uolevi

user output
Uolevi
Uolevi
Uolevi
Maija
Uolevi

Test 40

Verdict: ACCEPTED

input
5
BBABBBBABABBBABAAAABBBBBBBBBBA...

correct output
Maija
Uolevi
Maija
Maija
Maija

user output
Maija
Uolevi
Maija
Maija
Maija

Test 41

Verdict: ACCEPTED

input
10
BBAAAABAAAAAAAABBAAAAAAAAAAAAA...

correct output
Uolevi
Uolevi
Maija
Maija
Maija
...

user output
Uolevi
Uolevi
Maija
Maija
Maija
...

Test 42

Verdict: ACCEPTED

input
10
BBAAABABABBBABBAAAAABABABAABAB...

correct output
Uolevi
Uolevi
Uolevi
Maija
Uolevi
...

user output
Uolevi
Uolevi
Uolevi
Maija
Uolevi
...

Test 43

Verdict: ACCEPTED

input
50
BBBBBBBBABBBBBBBBBBBBABBBBABBB...

correct output
Maija
Maija
Maija
Uolevi
Uolevi
...

user output
Maija
Maija
Maija
Uolevi
Uolevi
...

Test 44

Verdict: ACCEPTED

input
50
BBABBBBBBABAABBBBABBAAABABBABB...

correct output
Maija
Maija
Maija
Uolevi
Uolevi
...

user output
Maija
Maija
Maija
Uolevi
Uolevi
...

Test 45

Verdict: ACCEPTED

input
100
ABBBBBBBBBBBABBABBBBBBBBBBBBBB...

correct output
Maija
Uolevi
Maija
Uolevi
Maija
...

user output
Maija
Uolevi
Maija
Uolevi
Maija
...

Test 46

Verdict: ACCEPTED

input
100
ABBBBABBBAAAABBBAAAABBABAABABB...

correct output
Maija
Maija
Maija
Uolevi
Uolevi
...

user output
Maija
Maija
Maija
Uolevi
Uolevi
...

Test 47

Verdict: ACCEPTED

input
500
ABBAABBAAABAABAAAABBABBABABABA...

correct output
Maija
Maija
Uolevi
Uolevi
Uolevi
...

user output
Maija
Maija
Uolevi
Uolevi
Uolevi
...

Test 48

Verdict: ACCEPTED

input
500
ABBBBABBBBBBBBABBBBBBBBBBBBABB...

correct output
Maija
Maija
Maija
Maija
Maija
...

user output
Maija
Maija
Maija
Maija
Maija
...

Test 49

Verdict:

input
1000
BAAAACAAAAAAAAAAAAAAAAAAAAAAAA...

correct output
Uolevi
Maija
Uolevi
Uolevi
Uolevi
...

user output
(empty)

Error:
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 1
	at Main.main(Main.java:50)

Test 50

Verdict: ACCEPTED

input
1000
BAAABAABAABAAABAAAAAAABAAAAAAA...

correct output
Uolevi
Uolevi
Uolevi
Uolevi
Maija
...

user output
Uolevi
Uolevi
Uolevi
Uolevi
Maija
...

Test 51

Verdict:

input
5000
BAAAABBAABABAABAABAAAABBAAAAAA...

correct output
Uolevi
Maija
Maija
Maija
Maija
...

user output
(empty)

Error:
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 1
	at Main.main(Main.java:50)

Test 52

Verdict: ACCEPTED

input
5000
BBBBBBABABBABABBBABBBBBBBBBBAA...

correct output
Maija
Uolevi
Uolevi
Maija
Uolevi
...

user output
Maija
Uolevi
Uolevi
Maija
Uolevi
...

Test 53

Verdict:

input
10000
AABAABCABBAAAB
ABBAABAAABAABAAABABBBBBABCBBBA...

correct output
Uolevi
Uolevi
Maija
Maija
Maija
...

user output
(empty)

Error:
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 1
	at Main.main(Main.java:50)

Test 54

Verdict: ACCEPTED

input
10000
AABBBCBBABBBABBBBBBBABBBBBBBBA...

correct output
Maija
Uolevi
Uolevi
Maija
Uolevi
...

user output
Maija
Uolevi
Uolevi
Maija
Uolevi
...

Test 55

Verdict: ACCEPTED

input
12
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA...

correct output
Uolevi
Maija
Uolevi
Uolevi
Maija
...

user output
Uolevi
Maija
Uolevi
Uolevi
Maija
...

Test 56

Verdict: ACCEPTED

input
12
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA...

correct output
Uolevi
Maija
Uolevi
Uolevi
Maija
...

user output
Uolevi
Maija
Uolevi
Uolevi
Maija
...