Chocolate Bar
You 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.Input Format
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.
Output Format
A line containing a single integer for each case given in the input: the answer for the corresponding case.
Sample Input
2
1 2
2 2
Sample Output
1
3
All Submissions
Best Solutions
Point Value: 5
Time Limit: 2.00s
Memory Limit: 16M
Added: Feb 21, 2009
Author: javic
Languages Allowed:
C++03, PAS, C, HASK, ASM, RUBY, PYTH2, JAVA, PHP, SCM, CAML, PERL, C#, C++11, PYTH3
Comments (Search)
example:
-------
1 2(1)prints 1
2 2(2)prints 2
that's how i think the code works, not so sure
In your code, the value of e, which you print, is dependent on previous cases. For example, the following will not work in your code:
Input:
2
2 2
1 2
Output:
3
1
You may gain some insights by reading the previously posted comments.
Also I'm not convinced 100% that you know for sure that the cases are independent... so yeah. They are.
You just might find a pattern
Overthinking is not fox.