1566 - Logo Turtle

Time Limit: 5s Memory Limit: 128MB

Submissions: 146 Solved: 37
Description
   A lot of people associate Logo programming language with turtle graphics. In this case the turtle moves on the screen and accepts commands "T" ("turn right90 degree") and "F" ("move 1 unit forward").
   You are given a list of commands that will be given to the turtle. You have to change exactly ncommands from the list (one command can be changed several times). How far from the starting point can the turtle move after it follows allthe commands of the modified list?
Input
   Several test cases, the first line of each case contains a string commands— the original list of commands. The string commandscontains between 1 and 100 characters, inclusive, and contains only characters "T" and "F".
   The second line of each case contains an integer n(0 ≤ n ≤ |commands|≤100) — the number of commands you have to change in the list.
   There is a blank line between each case.
Output
   For each case, you should output the maximum squared Euclidean distance from the starting point to the ending point of the turtle's path in a line. The ending point of the turtle's path is turtle's coordinate after it follows all the commands of the modified list.
Sample Input
FT
1

FFFTFFF
2

FFFTFFF
0
Sample Output
4
36
18
Hint
   In the first example the best option is to change the second command ("T") to "F" — this way the turtle will cover a distance of 2 units.
   In the second example you have to change two commands. One of the ways to cover maximal distance of 6 units is to change the fourth command and first or last one.
   The Euclidean distance between two points (x1, y1),(x2, y2) in 2D plane is d = sqrt((x1-x2)^2+(y1-y2)^2).
Source
Yang XIAO