Connection Status:
Competition Arena > RugSizes
SRM 304 · 2006-05-27 · by dgoodman · Brute Force, Simple Math
Class Name: RugSizes
Return Type: int
Method Name: rugCount
Arg Types: (int)
Problem Statement

Problem Statement

Rugs come in various sizes. In fact, we can find a rug with any integer width and length, except that no rugs have a distinct width and length that are both even integers. For example, we can find a 4x4 rug, but not a 2x4 rug. We want to know how many different choices we have for a given area.

Create a class RugSizes the contains a method rugCount that is given the desired area and returns the number of different ways in which we can choose a rug size that will cover that exact area. Do not count the same size twice -- a 6 x 9 rug and a 9 x 6 rug should be counted as one choice.

Constraints

  • area will be between 1 and 100,000, inclusive.
Examples
0)
4
Returns: 2

The choices are 1 x 4 (or equivalently 4 x 1) and 2 x 2.

1)
8
Returns: 1

Only 1 x 8 is available. Note that 2 x 4 has the desired area, but is not available since its width and length differ and are both even numbers.

2)
30
Returns: 4
3)
100000
Returns: 6
4)
98415
Returns: 10

Submissions are judged against all 89 archived test cases, of which 5 are shown here. Case numbers match the judge’s.

Coding Area

Language: C++17 · define a public class RugSizes with a public method int rugCount(int area) · 89 test cases · 2 s / 256 MB per case

Submitting as anonymous