## DWITE '11 R4 #4 - Lego Ladder

View as PDF

Points: 10
Time limit: 1.0s
Memory limit: 64M

Problem type
Allowed languages
Ada, Assembly, Awk, Brain****, C, C#, C++, COBOL, CommonLisp, D, Dart, F#, Forth, Fortran, Go, Groovy, Haskell, Intercal, Java, JS, Kotlin, Lisp, Lua, Nim, ObjC, OCaml, Octave, Pascal, Perl, PHP, Pike, Prolog, Python, Racket, Ruby, Rust, Scala, Scheme, Sed, Swift, TCL, Text, Turing, VB, Zig
##### DWITE, January 2012, Problem 4

Little Alice and Little Bob are playing with their favourite toys, Lego blocks. They have blocks of various heights, arranged in a row. They decide to play a game with their blocks.

Alice and Bob take turns removing one Lego block from the row, with Alice going first. At the beginning of a player's turn, if the blocks form a ladder – a sequence of either non-increasing or non-decreasing heights – that player loses. Given the heights of the initial row of blocks, determine who has the winning strategy, if they play optimally.

The input will contain 5 test cases, and each test case describes 3 games. The first line of each game contains a number (), the number of blocks in that game. The next line contains space-separated integers, representing the heights of the blocks, which will be integers from to inclusive.

The output will contain 5 lines, with strings of 3 characters each. The th character of the th line should represent the result of the th game of the th test case: if Little Alice wins, and if Little Bob wins.

#### Sample Input

2
2 3
3
0 2 2
4
1 2 4 3

#### Sample Output

BBA