Big chocolate problem
Main topic:
Mohammad has recently visited Switzerland. As he loves he friends very much, he decided to buy some chocolate for them, but as this fine chocolate is very expensive (You know Mohammad are a little BIT stingy!), he could only afford buying one chocolate, albeit a very big one (part of it Can is seen in Figure 1) for all of them as a souvenir. Now, he wants to give each of its friends exactly one part of this chocolate and as he believes all human beings is equal (!), he wants to split it into equal parts.
The chocolate is a rectangle constructed from unit-sized squares. You can assume that Mohammad have also friends waiting to receive their piece of chocolate.
To split the chocolate, Mohammad can cut it in vertical or horizontal direction (through the lines that separate the Squar ES). Then, he should does the same with each part separately until he reaches unit size pieces of chocolate. Unfortunately, because he is a little-lazy, he wants to use the minimum number of cuts required-accomplish this task.
Your goal is to tell him the minimum number of cuts needed to split all of the chocolate squares apart.
Requirements:
The Input
The input consists of several test cases. In all line of input, there is integers, the number of the rows in the chocolate and, the number of columns in the Cho Colate. The input should was processed until end of file is encountered.
The Output
For each line of input, your program should produce one line of output containing an integer indicating the minimum number Of cuts needed to split the entire chocolate into unit size pieces.
Input Sample:
Sample Input
2 2
1 1
1 5
Sample Output
3
0
4
Topic Analysis:
The topic content is many, but the topic is very simple, front said a lot of useless things. According to the sample analysis given, it can be judged that the chocolate can only be divided into two pieces, so the number of cut a=m*n-1.
Program code:
1#include <cstdio>2#include <iostream>3 using namespacestd;4 5 intm[ -];6 intn[ -];7 8 intMain ()9 {Ten intM,n,a; One while(SCANF ("%d%d", &m,&n)! =EOF) A { -a=m*n-1; -cout<<a<<Endl; the } - return 0; -}
Experience:
The topic is very simple, but because the game mood is very irritable, so did not take a good look at this problem. After the game, look at the problem to find this problem is simple. I saw the difference between the competition and others, I should do some more questions, take a good look at the basic knowledge of C language. The next game to adjust their mentality.
Game--The big chocolate problem--the report of solving problems