CS302 Midterm Exam - October 14, 2014 - Page 3
Do your answers on the answer sheets provided.
When you write code, you do not need to have "include" or "using" statements.
Question 5
Your job is to write the procedure int RB(int r, int b, vector <int> &N).
The procedure works as follows. Each element of N is a number of balls, which
are either all red or all blue.
The problem is, you don't know which color they are. Your program should return
1 if it is possible for the vector to represent excaly r red balls and b
blue balls. It should return 0 if it is impossible.
For example, RB(6, 7, { 4, 2, 4, 3 }) should return 1, and
RB(6, 8, { 4, 2, 4, 3 }) should return 0.
RB(6, 7, { 4, 4, 4, 1 }) should return 0 as well.
Constraint #1: N will have a maximum of 20 elements.
Constraint #2: Each element of N will be less than 200,000,000.
Constraint #3: No constraints on r or b.
Before writing this procedure, I want you to do the following:
- Outline your solution in English, rather than writing code.
- If this were a topcoder problem, N's size
could not be much bigger than this. Maybe 21 or 22. Why?
- Finally, code up your solution.
Scratch Space is Below (You may find the following useful):
0 | |
1 | |
2 | |
3 | |
4 | |
5 | |
6 | |
7 | |
8 | |
9 | |
10 | |
11 | |
12 | |
13 | |
14 | |
15 | |
16 | |
17 | |
18 | |
19 | |