Chocolate BarYou have a rectangular chocolate bar. It consists of m×n (1≤m,n≤1000) squares. You want to break it up into 1×1 pieces (individual squares). What is the minimum number of times that you must break the chocolate bar, or pieces thereof, in order to achieve this? Note that you cannot stack pieces of the bar and break them, because the chocolate bar is thick. As an example, a 2×2 bar requires 3 breaks. First you can break it in half, then break each of the halves in half. You cannot break it in half, stack the two 1×2 pieces, and then use only one more break to achieve your goal.
The first line contains an integer N, the number of test cases to follow.
Each of the following N lines contains two space-separated integers, the dimensions m and n of a chocolate bar.
A line containing a single integer for each case given in the input: the answer for the corresponding case.
Point Value: 5
Time Limit: 2.00s
Memory Limit: 16M
Added: Feb 21, 2009
C++03, PAS, C, HASK, ASM, RUBY, PYTH2, JAVA, PHP, SCM, CAML, PERL, C#, C++11, PYTH3