f860: 化學結構式
Tags : DD
Accepted rate : 9人/10人 ( 90% ) [非即時]
評分方式:
Strictly

最近更新 : 2021-05-22 13:03

Content

  DD是個理化廢物,任何化合物的性質他都記不得,這次,他聽說期中考要有機化合物的結構式,便他非常擔心。

  考試前,老師發了一張複習卷,但DD根本不知道怎麼寫,老師給答案時,要畫圖的地方又直接省略,使DD很苦腦,由於人緣不好,他也找不到任何人要幫他。

  熱心的您,是否願意幫他,若你不願意,請輸出「DD爛!!」,並得到WA

  若您願意,請寫一個程式幫幫他,判斷一個中文化學式的結構式。以下是一些規則:

 

C有四隻手,H有一隻手,O有兩隻手

 

 烷類:

     乙烷    乙烷

烯類:

將烷類其中兩個C的單鍵改成雙鍵並各少接一個H

    乙烯    乙烯

炔類:

將烷類其中兩個C的單鍵改成三鍵並各少接一個H

    乙炔    乙炔

醇類:

將烷類的最右邊的H改成O-H

    乙醇    乙醇

酸類:

將烷類的最右邊的CH3改成COOH

    456    乙酸 

酯類:

將一酸類和一醇類結合,酸去掉H,醇去掉O-H

(詳見範例輸出)

    酯類    R、R'代表烷基(烷類去掉右邊的H)

 

然而考試時才發現一題都沒考出來~~

 

已發現+修改錯誤測資並重測!!

Input

多行輸入

每行輸入一個中文化學名稱

 

只會有烷、烯、炔、醇、有機酸、酯

最多二十個C (數量:甲乙丙...壬癸十一十二...十九二十)

不會出現錯誤輸入

Output

輸出其結構式及一行"----------",每行結尾不含空白

以-和|代表單鍵,=代表雙鍵,%代表三鍵

注意!!本題採嚴格比對

Sample Input #1
丙烷
丁醇
丁酸丙酯
十五烯
Sample Output #1
  H H H
  | | |
H-C-C-C-H
  | | |
  H H H
----------
  H H H H
  | | | |
H-C-C-C-C-O-H
  | | | |
  H H H H
----------
  H H H O   H H H
  | | | =   | | |
H-C-C-C-C-O-C-C-C-H
  | | |     | | |
  H H H     H H H
----------
  H H H H H H H H H H H H H H H
  | | | | | | | | | | | | | | |
H-C=C-C-C-C-C-C-C-C-C-C-C-C-C-C-H
      | | | | | | | | | | | | |
      H H H H H H H H H H H H H
----------
Sample Input #2
甲醇
甲酸乙酯
十二酸
戊炔
Sample Output #2
  H
  |
H-C-O-H
  |
  H
----------
  O   H H
  =   | |
H-C-O-C-C-H
      | |
      H H
----------
  H H H H H H H H H H H O
  | | | | | | | | | | | =
H-C-C-C-C-C-C-C-C-C-C-C-C-O-H
  | | | | | | | | | | |
  H H H H H H H H H H H
----------
      H H H
      | | |
H-C%C-C-C-C-H
      | | |
      H H H
----------
測資資訊:
記憶體限制: 64 MB
公開 測資點#0 (100%): 1.0s , <1K
Hint :

判斷中文方式:

C++(一個中文字在zerojudge占三個字元,其他有些地方占兩個字元)

string a = "甲醇";

if (a.substr(0, 3) == "甲") //判斷第一個中文字

string ck = a.substr(k*3, 3) //第k個中文字

Tags:
DD
出處:
DD的奇幻冒險之旅 [管理者:
_xdddd ((找不到本用戶!))
]


ID User Problem Subject Hit Post Date
沒有發現任何「解題報告」