No.2820 Non-Preferred IUPAC Nomenclature
タグ : / 解いたユーザー数 71
作問者 :
 みどりむし🦠
            
            / テスター :
みどりむし🦠
            
            / テスター :
            
             FplusFplusF
FplusFplusF
            
             AngrySadEight
AngrySadEight
            
            
        問題文
注:この問題はフィクションです。現代の化学とは大きな乖離があります。
        炭素原子は、$4$ つ以下の、自身以外の炭素原子と (直接) 結合することができます。
        $1$ つ以上の炭素原子が互いに結合しあったものを、炭化水素と呼びます。
    
また、任意の炭化水素は、名前となる文字列と、ちょうど $1$ つの根となる炭素原子をそれぞれ持ちます。
アルカンは、次の規則によって再帰的に構成される炭化水素です:
- いずれも根に (直接) 結合している炭素原子の個数が $4$ つ未満であるような、相異なる $4$ つ以下のアルカンからなる集合 $S$ について、$S$ に属するすべてのアルカンそれぞれの根に、共通の $1$ 炭素原子 $X$ が結合して得られる炭化水素
            - $S$ に属するアルカンすべてについて、それぞれの名前の末尾から aneを取り除き、先頭に(、末尾にyl)を結合して得られる文字列たちからなる多重集合を $P$ とする。
- 名前は、$P$ に属するすべての文字列を自由な順番で結合して得られる文字列 $p$ に対して、$p$ の末尾にmethaneを結合して得られる文字列となる。
- 根は、新たに $X$ となる。
- 特に $S = \emptyset$ のとき、炭素原子 $X$ のみからなる炭化水素であり、名前は methane、根は $X$ それ自身である。
 
- $S$ に属するアルカンすべてについて、それぞれの名前の末尾から 
さて、$N$ 個の相異なる炭素原子、炭素原子 $1, 2, \dots, N$ からなるアルカンが $1$ つあります。
        このアルカンの名前を求めてください。
        構成の手順によっては複数の名前があり得ますが、それらのうちいずれか $1$ つを出力してください。
    
        なお炭素原子が根であるかどうかは目視によって区別できません。
        したがってどの炭素原子が根であるかは与えませんので、あなたが自由に一つ選んでよいです。
        
    
入力
入力は、以下の形式で標準入力より与えられる:
$N$
$C_{1, 1} \enspace C_{1, 2} \enspace C_{1, 3} \enspace C_{1, 4}$
$C_{2, 1} \enspace C_{2, 2} \enspace C_{2, 3} \enspace C_{2, 4}$
$\vdots$
$C_{N, 1} \enspace C_{N, 2} \enspace C_{N, 3} \enspace C_{N, 4}$
        - 多重集合 $L_i \coloneqq \{\!\!\{\, C_{i, 1}, C_{i, 2}, C_{i, 3}, C_{i, 4} \,\}\!\!\} \scriptsize \; (1 \leq i \leq N)$ を定めます。
- $2$ 炭素原子 $i, j \scriptsize \; (i \not= j)$ とが互いに (直接) 結合しているとき、またそのときに限り、$i \in L_j$ かつ $\sout {j \in L_i}$が成り立ちます。
- ここで、以下がいずれも満たされることを保証します:
                - $C_{i, j} \in \{\, 1, 2, \dots, N,$ H$\,\} \scriptsize \; (1 \leq i \leq N \land 1 \leq j \leq 4)$
- $i \not\in L_i \scriptsize \; (1 \leq i \leq N)$
- $\textcolor{#FF0000} {i \in L_j \Leftrightarrow j \in L_i \scriptsize \; (1 \leq i, j \leq N)}$
- $L_i \scriptsize \; (1 \leq i \leq N)$ について、H以外の値が重複することはない
- これらの炭素原子からなる炭化水素はアルカンである
 
- $C_{i, j} \in \{\, 1, 2, \dots, N,$ 
出力
答えを、標準出力へ一行に出力せよ。
制約
- $1 \leq N \leq 2 \times 10^5$
- $N$ は整数
- $N$ 個の炭素原子すべてからなるアルカンがちょうど $1$ つ与えられる
補助ツール
サンプル
入出力例1
入力
2 2 H H H 1 H H H
出力例
(methyl)methane
                ethaneではありません。
            
入出力例2
入力
3 2 H H H 1 3 H H 2 H H H
出力例
(methyl)(methyl)methane
                ((methyl)methyl)methane も正答です。
            
入出力例3
入力
6 2 3 4 5 1 H H H 1 H H H 1 H H H 1 6 H H 5 H H H
出力例
(((methyl)(methyl)(methyl)methyl)methyl)methane
入出力例4
入力
14 2 H H H 1 3 H H 2 4 5 H 3 H H H 3 H 9 6 H 5 8 7 H H 6 H 11 H 6 H 5 10 12 H H 9 H H 8 14 H H 13 9 H H 12 H H H H 11 H H
出力例
((methyl)methyl)(((((methyl)methyl)(methyl)methyl)((methyl)((methyl)methyl)methyl)methyl)(methyl)methyl)methane
提出するには、Twitter 、GitHub、 Googleもしくは右上の雲マークをクリックしてアカウントを作成してください。
