Saint Louis University |
Computer Science 180
|
Dept. of Math & Computer Science |
Topic: | Mad Scientist |
Source Code: | mad.cpp |
Live Archive Ref#: | 4920 |
Pre-lab Due: |
Tuesday, 4 March 2014, 10:00am |
Submission Deadline: | Wednesday, 5 March 2014, 11:59pm |
Techniques: |
Vectors, Various |
The pre-lab requirement must be completed and submitted individually.
The remainder of the lab activity should be completed working in pairs. One person should submit the result, making sure that both partners' names are clearly identified in that submission.
Please make sure you adhere to the policies on academic integrity in this regard.
Read the complete problem description and then determine what the expected output should be if given the following input:
Prelab input: | Prelab output: |
4 1 2 3 5 4 0 3 3 6 0 |
A mad scientist performed a series of experiments, each having n phases. During each phase, a measurement was taken, resulting in a positive integer of magnitude at most k. The scientist knew that an individual experiment was designed in a way such that its measurements were monotonically increasing, that is, each measurement would be at least as big as all that precede it. For example, here is a sequence of measurements for one such experiment with n=13 and k=6:
1, 1, 2, 2, 2, 2, 2, 4, 5, 5, 5, 5, 6
It was also the case that n was to be larger than
k, and so there were typically many repeated values in the
measurement sequence. Being mad, the scientist chose a somewhat unusual way to
record the data. Rather than record each of n measurements, the scientist
recorded a sequence P of k values defined as follows.
For
as there were two measurements less than or equal to 1, seven measurements less than or equal to 2, seven measurement less than or equal to 3, and so on.2, 7, 7, 8, 12, 13
Unfortunately, the scientist eventually went insane, leaving behind a
notebook of these
Input: The input contains a series of
Output: For each
Example Input: | Example Output: |
6 2 7 7 8 12 13 1 4 3 4 4 5 3 0 4 5 5 2 2 4 7 7 0 |
1 1 2 2 2 2 2 4 5 5 5 5 6 1 1 1 1 1 1 1 1 3 2 2 2 2 3 1 1 3 3 4 4 4 |
By contest rules, there must NOT be any trailing space at the end of each output line. The easiest way to assure this when printing results stored in a sequence is to print the first output value, and then use a loop to repeatedly output a leading space and next value. (In this way, the last thing printed is a value, not a space.)
You can run the automated judge's tests on turing to test the correctness of your program (although you must still formally submit the source code via the course website). If you are working on your own machine (or if you just want to examine the judge's inputs and expected outputs), we provide them here.