Nộp bài | Các bài nộp | Làm tốt nhất | Về danh sách bài |
MMASS - Mass of Molecule |
English | Vietnamese |
A molecule can be defined as a sequence of atoms and represented by a chemical formula consisting of letters denoting these atoms. E.g. letter H denotes atom of hydrogen, C denotes atom of carbon, O denotes atom of oxygen, formula COOH represents molecule consisting of one atom of carbon, two atoms of oxygen and one atom of hydrogen.
To write some formulas efficiently, we use the following rules. Letters denoting some atoms can be grouped by enclosing in parentheses, e.g. formula CH(OH) contains group OH. Groups can be nested – a group can also contain other groups. To simplify a formula, consecutive occurrences of the same letter can be replaced with that letter followed by a number of these occurrences. E.g. formula COOHHH can be written as CO2H3 and it represents a molecule consisting of one atom of carbon, two atoms of oxygen and three atoms of hydrogen. Furthermore, consecutive occurrences of the same group can be replaced with that group followed by a number of these occurrences. E.g. formula CH (CO2H) (CO2H) (CO2H) can be written as CH(CO2H)3 and molecule represented by both those formulas consists of four atoms of carbon, four atoms of hydrogen and six atoms of oxygen. A number written after a letter or a group is always greater than or equal to 2 and less than or equal to 9. A mass of a molecule is a sum of masses of all its atoms. One atom of hydrogen has mass 1, one atom of carbon has mass 12 and one atom of oxygen has mass 16.
Write a program that will calculate a mass of a molecule.
Input
The first and only line of input file contains a formula of a molecule whose mass needs to be determined. A formula of a molecule will consist of characters H, C, O, (, ) , 2, 3, ..., 9 only. Its length will be less or equal to 100 characters.
Output
The first and only line of output file should contain a mass of a molecule represented with a given formula. The result will always be less than or equal to 10,000.
Sample
MASS.IN COOH MASS.OUT 45 MASS.IN CH(CO2H)3 MASS.OUT 148 MASS.IN ((CH)2(OH2H)(C(H))O)3 MASS.OUT 222
Được gửi lên bởi: | psetter |
Ngày: | 2009-03-08 |
Thời gian chạy: | 1s |
Giới hạn mã nguồn: | 50000B |
Memory limit: | 1536MB |
Cluster: | Cube (Intel G860) |
Ngôn ngữ cho phép: | Tất cả ngoại trừ: ERL GOSU JS-RHINO NODEJS PERL6 PYPY RUST SED VB.NET |
Nguồn bài: | COI 01 |
hide comments
|
|||||||
2021-05-27 18:01:57
Tham khảo: https://vnspoj.github.io/problems/MMASS |
|||||||
2020-04-17 14:16:29
input is only one line of string or something else |
|||||||
2018-05-10 03:25:44
sfasdfasfsadfs |
|||||||
2018-01-11 08:02:22 hồ vãn tuấn
đọc từ bàn phím nản |
|||||||
2017-09-02 00:36:56
WA vì dùng getline, đổi qua cin thì AC |
|||||||
2017-08-26 18:25:22
sao không hiện điểm thế các bạn |
|||||||
2017-08-21 08:38:19 Ðặng Minh Tiến
https://kienthuc24h.com/mmass-ptit121e-spoj-nguyen-to-hoa-hoc/ |
|||||||
2017-08-02 14:09:12 Pham Dat
{ Dinh Truong Lam } one punch ^^ |
|||||||
2017-06-09 11:25:18
SIGSEV thì có TH này nha (O)O)3 |
|||||||
2015-12-29 11:25:46
cho e hỏi xử lí lỗiSIGSEGV như nào ạ |