CSES - KILO 2017 3/5 - Results
Submission details
Task:Fruit game
Sender:Pietari Kaskela
Submission time:2017-09-19 18:48:09 +0300
Language:C++
Status:READY
Result:
Test results
testverdicttime
#1ACCEPTED0.03 sdetails
#20.06 sdetails
#3ACCEPTED0.04 sdetails
#40.04 sdetails
#50.05 sdetails
#60.06 sdetails
#70.04 sdetails
#8ACCEPTED0.03 sdetails
#90.03 sdetails
#10ACCEPTED0.05 sdetails
#110.04 sdetails
#12ACCEPTED0.09 sdetails
#13ACCEPTED0.09 sdetails
#14ACCEPTED0.09 sdetails
#15ACCEPTED0.11 sdetails
#16ACCEPTED0.11 sdetails
#17ACCEPTED0.11 sdetails
#180.13 sdetails
#19ACCEPTED0.10 sdetails
#200.12 sdetails
#210.13 sdetails
#220.07 sdetails
#230.08 sdetails
#240.07 sdetails
#250.05 sdetails
#260.05 sdetails
#270.11 sdetails
#280.06 sdetails
#290.08 sdetails
#300.04 sdetails
#310.07 sdetails
#32ACCEPTED0.11 sdetails
#330.11 sdetails
#340.09 sdetails
#350.09 sdetails
#360.09 sdetails
#370.12 sdetails
#38ACCEPTED0.11 sdetails
#390.09 sdetails
#400.14 sdetails
#410.10 sdetails
#420.11 sdetails
#430.11 sdetails
#440.11 sdetails
#450.12 sdetails
#460.09 sdetails
#470.09 sdetails
#480.10 sdetails
#490.11 sdetails
#500.11 sdetails
#510.13 sdetails
#520.15 sdetails
#530.13 sdetails
#540.13 sdetails
#550.03 sdetails
#560.08 sdetails

Compiler report

input/code.cpp: In function 'void solve1()':
input/code.cpp:41:14: warning: suggest parentheses around comparison in operand of '==' [-Wparentheses]
  if(a.back() == b.back() == 'A'){
              ^
input/code.cpp:45:19: warning: suggest parentheses around comparison in operand of '==' [-Wparentheses]
  else if(a.back() == b.back() == 'B'){
                   ^

Code

#include <bits/stdc++.h>

using namespace std;

void solve1(){
	string s; cin >> s;
	int n = s.length();
	if(s[0] == 'C'){
		if(s[n-1] == 'A')
			cout << "Maija\n";
		else
			cout << "Uolevi\n";
		return;
	}
	else if(s[n-1] == 'C'){
		if(s[0] == 'A')
			cout << "Maija\n";
		else
			cout << "Uolevi\n";
		return;
	}
	deque<char> a, b;
	int ac[2] = {0}, bc[2] = {0};
	for(int i = 0; i < n; ++i){
		if(s[i] != 'C')
			continue;
		int i2 = i-1;
		while(i2 >= 0){
			a.push_back(s[i2]);
			ac[s[i2]-'A']++;
			--i2;
		}
		i2 = i+1;
		while(i2 < n){
			bc[s[i2]-'A']++;
			b.push_back(s[i2]);
			++i2;
		}
		break;
	}
	if(a.back() == b.back() == 'A'){
		cout << "Maija\n";
		return;
	}
	else if(a.back() == b.back() == 'B'){
		cout << "Uolevi\n";
		return;
	}
	bool t = false;
	bool vika = false;
	while(a.size() || b.size()){
		if(t){
			if(a.size() && a[0] == 'A' && ac[0] > 1 && a.back() == 'A'){
				vika = false;
				a.pop_front();
				ac[0]--;
			}
			else if(b.size() && b[0] == 'A' && bc[0] > 1 && b.back() == 'A'){
				vika = false;
				b.pop_front();
				bc[0]--;
			}
			else if(a.size() > 1 && a[0] == 'A' && a[1] == 'A'){
				a.pop_front();
				vika = false;
				ac[0]--;
			}
			else if(b.size() > 1 && b[0] == 'A' && b[1] == 'A'){
				vika = false;
				b.pop_front();
				bc[0]--;
			}
			else if(a.size() && a[0] == 'A'){
				vika = false;
				a.pop_front();
				ac[0]--;
			}
			else if(b.size() && b[0] == 'A'){
				vika = false;
				b.pop_front();
				bc[0]--;
			}
			t = false;
		}
		else {
			if(a.size() && a[0] == 'B' && ac[1] > 1 && a.back() == 'B'){
				a.pop_front();
				vika = true;
				ac[1]--;
			}
			else if(b.size() && b[0] == 'B' && bc[1] > 1 && b.back() == 'B'){
				b.pop_front();
				vika = true;
				bc[1]--;
			}
			else if(a.size() > 1 && a[0] == 'B' && a[1] == 'B'){
				vika = true;
				a.pop_front();
				ac[1]--;
			}
			else if(b.size() > 1 && b[0] == 'B' && b[1] == 'B'){
				b.pop_front();
				vika = true;
				bc[1]--;
			}
			else if(a.size() && a[0] == 'B'){
				a.pop_front();
				vika = true;
				ac[1]--;
			}
			else if(b.size() && b[0] == 'B'){
				b.pop_front();
				vika = true;
				bc[1]--;
			}
			t = true;
		}
	}
	if(vika == true)
		cout << "Uolevi\n";
	else
		cout << "Maija\n";
}

int main(){
	int tests; cin >> tests;
	while(tests--)
		solve1();	
	return 0;
}

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
Maija
Maija
Uolevi
Maija
Uolevi
...

Test 3

Verdict: ACCEPTED

input
10
AACBBAABB
CAABBBABBB
AAABCBBBBBA
AACBBBBA
...

correct output
Uolevi
Uolevi
Maija
Maija
Uolevi
...

user output
Uolevi
Uolevi
Maija
Maija
Uolevi
...

Test 4

Verdict:

input
10
BCAA
ABBAAABCAAB
BBBABABCABBA
ABACABB
...

correct output
Maija
Maija
Maija
Uolevi
Uolevi
...

user output
Maija
Uolevi
Maija
Uolevi
Uolevi
...

Test 5

Verdict:

input
10
AABACBABB
BBBBBACBBA
ABBCBBABABB
BAABCBBA
...

correct output
Maija
Maija
Maija
Maija
Maija
...

user output
Uolevi
Maija
Uolevi
Maija
Uolevi
...

Test 6

Verdict:

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
Uolevi
Maija
Maija
Maija
Uolevi
...

Test 8

Verdict: ACCEPTED

input
10
BBBBBAABAAAABAAAABABABBAAABBAA...

correct output
Uolevi
Uolevi
Uolevi
Uolevi
Uolevi
...

user output
Uolevi
Uolevi
Uolevi
Uolevi
Uolevi
...

Test 9

Verdict:

input
10
AABAAAAAAAAAABAAAABABBAAAAAABB...

correct output
Uolevi
Maija
Maija
Maija
Uolevi
...

user output
Uolevi
Uolevi
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:

input
10
AABBBAAABBABAAAAAABBBBABBBBBBB...

correct output
Maija
Maija
Maija
Uolevi
Maija
...

user output
Maija
Uolevi
Uolevi
Uolevi
Uolevi
...

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
Maija
Maija
Maija
Uolevi
Maija
...

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
Uolevi
Maija
Uolevi
Maija
Maija
...

Test 21

Verdict:

input
10000
BABABBBBBBABBAAABBBBAABBAAABBB...

correct output
Uolevi
Uolevi
Uolevi
Maija
Uolevi
...

user output
Uolevi
Uolevi
Uolevi
Maija
Uolevi
...

Test 22

Verdict:

input
10000
AAAAAACBBAABA
ACBAABBBBBAB
ABACBAAAABAA
BBBBABBABACB
...

correct output
Maija
Uolevi
Maija
Uolevi
Uolevi
...

user output
Maija
Uolevi
Maija
Uolevi
Uolevi
...

Test 23

Verdict:

input
10000
BAAABABBBBCAB
BBABABAACBAB
ABABBABCB
BBABBAAABAACB
...

correct output
Uolevi
Uolevi
Maija
Uolevi
Uolevi
...

user output
Uolevi
Uolevi
Uolevi
Uolevi
Uolevi
...

Test 24

Verdict:

input
10000
BABBBABABCAA
AABBBBBABBABC
AAABBBAABAC
AAABBAACAAA
...

correct output
Uolevi
Maija
Maija
Maija
Uolevi
...

user output
Uolevi
Maija
Maija
Maija
Uolevi
...

Test 25

Verdict:

input
10000
BBBCABBBBAA
CBABBBABBABB
ABBBAAABBBCAA
BBBCBABBAABAB
...

correct output
Maija
Uolevi
Maija
Uolevi
Uolevi
...

user output
Maija
Uolevi
Maija
Uolevi
Uolevi
...

Test 26

Verdict:

input
10000
ABAABBBBBBCAB
BBBBBBAAABBAC
BCABBBBBBBBBB
ACBAAAAAAAB
...

correct output
Maija
Uolevi
Uolevi
Uolevi
Maija
...

user output
Maija
Uolevi
Uolevi
Uolevi
Maija
...

Test 27

Verdict:

input
10000
ABBCBBABABB
ABCBBBAABBBAB
ABAABBCBBABBA
BCBBBAAAAABAB
...

correct output
Maija
Uolevi
Maija
Uolevi
Maija
...

user output
Uolevi
Uolevi
Maija
Uolevi
Maija
...

Test 28

Verdict:

input
10000
BCBBBBBBAABA
AAAAABCBABABB
ABBAACAAAABAB
AABACBAABBBA
...

correct output
Maija
Maija
Uolevi
Maija
Maija
...

user output
Maija
Maija
Uolevi
Maija
Maija
...

Test 29

Verdict:

input
10000
ABAABBAABABCB
BBCBAABBBAAAA
BBBAAACBAABB
BBAAABAAACAAB
...

correct output
Maija
Maija
Uolevi
Uolevi
Maija
...

user output
Maija
Maija
Uolevi
Uolevi
Maija
...

Test 30

Verdict:

input
10000
BBBBCAAAAABA
ABBABACAAABB
BAABBABACBABA
AAAAACAAABA
...

correct output
Maija
Uolevi
Uolevi
Maija
Maija
...

user output
Maija
Uolevi
Uolevi
Maija
Maija
...

Test 31

Verdict:

input
8124
BCAAABABB
ABBAACABABABA
BAAABBACABBAB
BBABABBACAAAB
...

correct output
Uolevi
Maija
Uolevi
Uolevi
Maija
...

user output
Uolevi
Maija
Uolevi
Uolevi
Maija
...

Test 32

Verdict: ACCEPTED

input
1
AABBABABAAAAAABAAABBBBABAAABBA...

correct output
Maija

user output
Maija

Test 33

Verdict:

input
2
BAAABBAAABBBBBBABBABBBBABABBBA...

correct output
Uolevi
Maija

user output
Maija
Maija

Test 34

Verdict:

input
2
ABBBBBAAABBABBBBBABBBBABBBBBBB...

correct output
Maija
Maija

user output
Uolevi
Uolevi

Test 35

Verdict:

input
3
ABBBABAABAABBBABBAABAAABBBBAAB...

correct output
Uolevi
Uolevi
Maija

user output
Uolevi
Uolevi
Uolevi

Test 36

Verdict:

input
3
AABBABABABBABBBABAABBBBBAABBBB...

correct output
Maija
Maija
Uolevi

user output
Maija
Maija
Maija

Test 37

Verdict:

input
4
ABBAAABAAABBABAAAAAAAAAAAABAAB...

correct output
Maija
Uolevi
Maija
Uolevi

user output
Uolevi
Uolevi
Maija
Maija

Test 38

Verdict: ACCEPTED

input
4
AAAAAAAAAAAAAAAAAAAABAAABAAAAA...

correct output
Uolevi
Maija
Uolevi
Uolevi

user output
Uolevi
Maija
Uolevi
Uolevi

Test 39

Verdict:

input
5
BBAAAAAABAAABAABAAAAABAAAAAAAA...

correct output
Uolevi
Uolevi
Uolevi
Maija
Uolevi

user output
Uolevi
Maija
Uolevi
Maija
Uolevi

Test 40

Verdict:

input
5
BBABBBBABABBBABAAAABBBBBBBBBBA...

correct output
Maija
Uolevi
Maija
Maija
Maija

user output
Maija
Uolevi
Maija
Uolevi
Maija

Test 41

Verdict:

input
10
BBAAAABAAAAAAAABBAAAAAAAAAAAAA...

correct output
Uolevi
Uolevi
Maija
Maija
Maija
...

user output
Uolevi
Maija
Maija
Maija
Uolevi
...

Test 42

Verdict:

input
10
BBAAABABABBBABBAAAAABABABAABAB...

correct output
Uolevi
Uolevi
Uolevi
Maija
Uolevi
...

user output
Uolevi
Maija
Uolevi
Maija
Uolevi
...

Test 43

Verdict:

input
50
BBBBBBBBABBBBBBBBBBBBABBBBABBB...

correct output
Maija
Maija
Maija
Uolevi
Uolevi
...

user output
Maija
Uolevi
Uolevi
Uolevi
Uolevi
...

Test 44

Verdict:

input
50
BBABBBBBBABAABBBBABBAAABABBABB...

correct output
Maija
Maija
Maija
Uolevi
Uolevi
...

user output
Maija
Uolevi
Uolevi
Uolevi
Maija
...

Test 45

Verdict:

input
100
ABBBBBBBBBBBABBABBBBBBBBBBBBBB...

correct output
Maija
Uolevi
Maija
Uolevi
Maija
...

user output
Uolevi
Uolevi
Maija
Uolevi
Uolevi
...

Test 46

Verdict:

input
100
ABBBBABBBAAAABBBAAAABBABAABABB...

correct output
Maija
Maija
Maija
Uolevi
Uolevi
...

user output
Uolevi
Uolevi
Uolevi
Maija
Uolevi
...

Test 47

Verdict:

input
500
ABBAABBAAABAABAAAABBABBABABABA...

correct output
Maija
Maija
Uolevi
Uolevi
Uolevi
...

user output
Uolevi
Uolevi
Uolevi
Maija
Uolevi
...

Test 48

Verdict:

input
500
ABBBBABBBBBBBBABBBBBBBBBBBBABB...

correct output
Maija
Maija
Maija
Maija
Maija
...

user output
Uolevi
Maija
Maija
Uolevi
Maija
...

Test 49

Verdict:

input
1000
BAAAACAAAAAAAAAAAAAAAAAAAAAAAA...

correct output
Uolevi
Maija
Uolevi
Uolevi
Uolevi
...

user output
Maija
Maija
Uolevi
Maija
Maija
...

Test 50

Verdict:

input
1000
BAAABAABAABAAABAAAAAAABAAAAAAA...

correct output
Uolevi
Uolevi
Uolevi
Uolevi
Maija
...

user output
Maija
Uolevi
Uolevi
Uolevi
Uolevi
...

Test 51

Verdict:

input
5000
BAAAABBAABABAABAABAAAABBAAAAAA...

correct output
Uolevi
Maija
Maija
Maija
Maija
...

user output
Maija
Maija
Uolevi
Uolevi
Uolevi
...

Test 52

Verdict:

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
Uolevi
Uolevi
Maija
Maija
Maija
...

Test 54

Verdict:

input
10000
AABBBCBBABBBABBBBBBBABBBBBBBBA...

correct output
Maija
Uolevi
Uolevi
Maija
Uolevi
...

user output
Maija
Maija
Maija
Maija
Uolevi
...

Test 55

Verdict:

input
12
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA...

correct output
Uolevi
Maija
Uolevi
Uolevi
Maija
...

user output
Maija
Maija
Uolevi
Uolevi
Uolevi
...

Test 56

Verdict:

input
12
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA...

correct output
Uolevi
Maija
Uolevi
Uolevi
Maija
...

user output
Maija
Maija
Uolevi
Uolevi
Uolevi
...