ArrayHash
SRM 238 · 2005-04-14 · by AdminBrett
SRM 238 · 2005-04-14 · by AdminBrett · Brute Force, Simple Search, Iteration
Problem Statement
Problem Statement
You will be given a String[] input. The value of each character in input is computed as follows:
Value = (Alphabet Position) + (Element of input) + (Position in Element)All positions are 0-based. 'A' has alphabet position 0, 'B' has alphabet position 1, ... The returned hash is the sum of all character values in input. For example, if
input = {"CBA",
"DDD"}
then each character value would be computed as follows: 2 = 2 + 0 + 0 : 'C' in element 0 position 0 2 = 1 + 0 + 1 : 'B' in element 0 position 1 2 = 0 + 0 + 2 : 'A' in element 0 position 2 4 = 3 + 1 + 0 : 'D' in element 1 position 0 5 = 3 + 1 + 1 : 'D' in element 1 position 1 6 = 3 + 1 + 2 : 'D' in element 1 position 2The final hash would be 2+2+2+4+5+6 = 21.
Constraints
- input will contain between 1 and 50 elements inclusive.
- Each character in each element of input will be a capital letter ('A'-'Z').
- Each element of input will contain between 1 and 50 characters inclusive.
- Each element of input will contain the same number of characters.
Examples
0)
{"CBA",
"DDD"}
Returns: 21
From the problem statement.
1)
{"Z"}
Returns: 25
A very small example.
2)
{"A",
"B",
"C",
"D",
"E",
"F"}
Returns: 30
Tall and narrow.
3)
{"ABCDEFGHIJKLMNOPQRSTUVWXYZ",
"ABCDEFGHIJKLMNOPQRSTUVWXYZ",
"ABCDEFGHIJKLMNOPQRSTUVWXYZ",
"ABCDEFGHIJKLMNOPQRSTUVWXYZ",
"ABCDEFGHIJKLMNOPQRSTUVWXYZ",
"ABCDEFGHIJKLMNOPQRSTUVWXYZ"}
Returns: 4290
4)
{"ZZZZZZZZZZ"}
Returns: 295
Submissions are judged against all 39 archived test cases, of which 5 are shown here. Case numbers match the judge’s.
Coding Area
Language: C++17 · define a public class ArrayHash with a public method int getHash(vector<string> input) · 39 test cases · 2 s / 256 MB per case