Vous êtes sur la page 1sur 2

# 1.6.

Problems 15

1.6 Problems
1.6.1 The 3� + 1 Problem
PC/UVa IDs: 110101/100, Popularity: A, Success rate: low Level: 1
Consider the following algorithm to generate a sequence of numbers. Start with an
integer n. If n is even, divide by 2. If n is odd, multiply by 3 and add 1. Repeat this
process with the new value of n, terminating when n = 1. For example, the following
sequence of numbers will be generated for n = 22:
22 11 34 17 52 26 13 40 20 10 5 16 8 4 2 1
It is conjectured (but not yet proven) that this algorithm will terminate at n = 1 for
every integer n. Still, the conjecture holds for all integers up to at least 1� 000� 000.
For an input n, the cycle-length of n is the number of numbers generated up to and
including the 1. In the example above, the cycle length of 22 is 16. Given any two
numbers i and j, you are to determine the maximum cycle length over all numbers
between i and j, including both endpoints.

Input
The input will consist of a series of pairs of integers i and j, one pair of integers per
line. All integers will be less than 1,000,000 and greater than 0.

Output
For each pair of input integers i and j, output i, j in the same order in which they
appeared in the input and then the maximum cycle length for integers between and
including i and j. These three numbers should be separated by one space, with all three
numbers on one line and with one line of output for each line of input.

## Sample Input Sample Output

1 10 1 10 20
100 200 100 200 125
201 210 201 210 89
900 1000 900 1000 174
16 1. Getting Started

1.6.2 Minesweeper
PC/UVa IDs: 110102/10189, Popularity: A, Success rate: high Level: 1
Have you ever played Minesweeper? This cute little game comes with a certain op-
erating system whose name we can’t remember. The goal of the game is to ﬁnd where
all the mines are located within a M × N ﬁeld.
The game shows a number in a square which tells you how many mines there are
adjacent to that square. Each square has at most eight adjacent squares. The 4 × 4 ﬁeld
on the left contains two mines, each represented by a “*” character. If we represent the
same ﬁeld by the hint numbers described above, we end up with the ﬁeld on the right:
*... *100
.... 2210
.*.. 1*10
.... 1110

Input
The input will consist of an arbitrary number of ﬁelds. The ﬁrst line of each ﬁeld
contains two integers n and m (0 < n� m ≤ 100) which stand for the number of lines
and columns of the ﬁeld, respectively. Each of the next n lines contains exactly m
characters, representing the ﬁeld.
Safe squares are denoted by “.” and mine squares by “*,” both without the quotes.
The ﬁrst ﬁeld line where n = m = 0 represents the end of input and should not be
processed.

Output
For each ﬁeld, print the message Field #x: on a line alone, where x stands for the
number of the ﬁeld starting from 1. The next n lines should contain the ﬁeld with the
“.” characters replaced by the number of mines adjacent to that square. There must
be an empty line between ﬁeld outputs.

4 4 Field #1:
*... *100
.... 2210
.*.. 1*10
.... 1110
3 5
**... Field #2:
..... **100
.*... 33200
0 0 1*100