Submit | All submissions | Best solutions | Back to list |
MAYA - Numeral System of the Maya |
The Maya lived in Central America during the first millennium. In many regards, they constituted one of the most developed and most fascinating cultures of this epoch. Even though draught animals and the wheel were unknown to the Mayas, they excelled in the fields of weaving, architecture and pottery. But truly breath-taking were their achievements in the fields of astronomy and mathematics. Whilst Europe was trudging through the dark Middle Ages, the Maya determined the solar year to 365.242 days (modern-day measurement: 365.242198) and the lunar cycle to 29.5302 days (modern-day measurement: 29.53059). Such astonishingly precise findings were hardly possible without a powerful numeral system. In this task we will explore the Maya's numeral system.
Maya priests and astronomers used a numerical system to the base of 20. Unusual to their time, their system also included the concepts of digits and of the zero. Both concepts were completely unknown to the Europeans at this time. The first nineteen numbers of the vigesimal system were represented by dots and dashes according to the following table:
The zero was written down as a symbol resembling a shell. Multi-digit numbers (i.e. the numbers bigger than 19) were written in vertical arrangement, with the highest-value digit on top. For example, the number 79 was written as
As can be seen, the second digit possesses a value of 20.
Due to an interference of the two calendar systems of the Maya, the third digit did not hold the value 400 (20x20), as would be expected, but 360. All the following digits were again treated regularly, i.e. the fourth digit counted 7200 (360x20), the fifth 144000 (7200x20), and so on.
Hence, the number 13495 (=1x7200+17x360+8x20+15) was written as follows:
Write a program to convert Maya numbers to decimal numbers!
Input
The input file contains a list of numbers written down in Maya fashion. Of course, dots are represented as points (.), and dashes are represented as hyphens (-). The zero digit, the shell symbol, is written as a capital letter S (S). Description of a Maya number starts with n - the number of the Maya digits. The following n lines contain one digit each. One digit is written from top to bottom using spaces as vertical separators.
One number will not have more than seven digits. Each two numbers are separated by a blank line. Input terminates with n = 0
Output
Your program has to output the value of the number in the input file in the nowadays more common decimal system. One number per line.
Example
Sample input: 1 .. 5 ... - . - - S S S 0 Sample output: 2 1231200
Added by: | MichaĆ Czuczman |
Date: | 2004-07-11 |
Time limit: | 3s |
Source limit: | 50000B |
Memory limit: | 1536MB |
Cluster: | Cube (Intel G860) |
Languages: | All except: NODEJS PERL6 VB.NET |
Resource: | Swiss Olympiad in Informatics 2004 |
hide comments
2017-03-28 18:07:22
A minor bug costed 2 WA! |
|
2016-11-15 16:35:33 lt
It should be made clear that only third digit makes it 18 instead of 20 and not every third digit. It did cost me 1 WA. :( |
|
2016-08-17 20:45:14
using long long gives wrong ans but using int gives correct, don't know why |
|
2015-07-21 16:28:03 shravinson
i have to use scanf 2 times to input a number i.e. while(scanf("%d", &n)==1 && n) { scanf("%d",&n); } i don't understand why is it working & got AC...?????? |
|
2015-06-28 18:27:12 SangKuan
remember read a empty line after a number...it cost me 3 times |
|
2015-05-12 13:42:29 Srijan Chattopadhyay
Is the Time limit Really 3 sec ?? I did it in a few miliseconds and it still shows TLE |
|
2015-05-09 09:15:56 Subhashis Bhowmik
Getting WA, though the test cases worked. |
|
2013-09-07 09:22:05 Aswin Murugesh
For Languages like Python, Don't forget the "Blank line" after each test case |