Problem A
This is an adhoc problem. We just need to consider all the possible cases of joining. Note that we can join 2 rectangles only along their common side lengths, if any.
For n = 1, it is trivial, check if it is a square.
For n = 2, only possible way is to to join the 2 rectangles.
For n = 3, we have two cases. Either join them all linearly, all 3 in a row kind of fashion. Another way is to join the 2 rectangles to form a greater rectangle and then join third one, perpendicularly.
For all of the above cases, if it is possible to form a square, the side length of square is the largest length / breadth from rectangles.