問題一覧 > 通常問題

No.2820 Non-Preferred IUPAC Nomenclature

レベル : / 実行時間制限 : 1ケース 2.000秒 / メモリ制限 : 512 MB / スペシャルジャッジ問題 (複数の解が存在する可能性があります)
タグ : / 解いたユーザー数 68
作問者 : 🦠みどりむし / テスター : achapi FplusFplusF viral8 👑 AngrySadEight
0 ProblemId : 10799 / 出題時の順位表 / 自分の提出
問題文最終更新日: 2024-07-27 19:43:04

問題文

注:この問題はフィクションです。現代の化学とは大きな乖離があります。

炭素原子は、44 つ以下の、自身以外の炭素原子と (直接) 結合することができます。
11 つ以上の炭素原子が互いに結合しあったものを、炭化水素と呼びます。

また、任意の炭化水素は、名前となる文字列と、ちょうど 11 つのとなる炭素原子をそれぞれ持ちます。

アルカンは、次の規則によって再帰的に構成される炭化水素です:

  • いずれも根に (直接) 結合している炭素原子の個数が 44 つ未満であるような、相異なる 44 つ以下のアルカンからなる集合 SS について、SS に属するすべてのアルカンそれぞれの根に、共通の 11 炭素原子 XX が結合して得られる炭化水素
    • SS に属するアルカンすべてについて、それぞれの名前の末尾から ane を取り除き、先頭に (、末尾に yl) を結合して得られる文字列たちからなる多重集合を PP とする。
    • 名前は、PP に属するすべての文字列を自由な順番で結合して得られる文字列 pp に対して、pp の末尾にmethane を結合して得られる文字列となる。
    • 根は、新たに XX となる。
    • 特に S=S = \emptyset のとき、炭素原子 XX のみからなる炭化水素であり、名前は methane、根は XX それ自身である。

さて、NN 個の相異なる炭素原子、炭素原子 1,2,,N1, 2, \dots, N からなるアルカンが 11 つあります。

このアルカンの名前を求めてください。
構成の手順によっては複数の名前があり得ますが、それらのうちいずれか 11 つを出力してください。

なお炭素原子が根であるかどうかは目視によって区別できません。
したがってどの炭素原子が根であるかは与えませんので、あなたが自由に一つ選んでよいです。

入力

入力は、以下の形式で標準入力より与えられる:

NN
C1,1C1,2C1,3C1,4C_{1, 1} \enspace C_{1, 2} \enspace C_{1, 3} \enspace C_{1, 4}
C2,1C2,2C2,3C2,4C_{2, 1} \enspace C_{2, 2} \enspace C_{2, 3} \enspace C_{2, 4}
\vdots
CN,1CN,2CN,3CN,4C_{N, 1} \enspace C_{N, 2} \enspace C_{N, 3} \enspace C_{N, 4}
  • 多重集合 Li{ ⁣ ⁣{Ci,1,Ci,2,Ci,3,Ci,4} ⁣ ⁣}(1iN)L_i \coloneqq \{\!\!\{\, C_{i, 1}, C_{i, 2}, C_{i, 3}, C_{i, 4} \,\}\!\!\} \scriptsize \; (1 \leq i \leq N) を定めます。
  • 22 炭素原子 i,j(ij)i, j \scriptsize \; (i \not= j) とが互いに (直接) 結合しているとき、またそのときに限り、iLji \in L_j かつ jLi\sout {j \in L_i} が成り立ちます。
  • ここで、以下がいずれも満たされることを保証します:
    • Ci,j{1,2,,N,C_{i, j} \in \{\, 1, 2, \dots, N, H }(1iN1j4)\,\} \scriptsize \; (1 \leq i \leq N \land 1 \leq j \leq 4)
    • i∉Li(1iN)i \not\in L_i \scriptsize \; (1 \leq i \leq N)
    • iLjjLi(1i,jN)\textcolor{#FF0000} {i \in L_j \Leftrightarrow j \in L_i \scriptsize \; (1 \leq i, j \leq N)}
    • Li(1iN)L_i \scriptsize \; (1 \leq i \leq N) について、H 以外の値が重複することはない
    • これらの炭素原子からなる炭化水素はアルカンである
(コンテスト後に表現を修正)

出力

答えを、標準出力へ一行に出力せよ。

制約

  • 1N2×1051 \leq N \leq 2 \times 10^5
  • NN は整数
  • NN 個の炭素原子すべてからなるアルカンがちょうど 11 つ与えられる

補助ツール

こちらのページに名前を入力することで、その名前を与えるアルカンの模式図を描画することができます。(外部サイトです。)

サンプル

入出力例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もしくは右上の雲マークをクリックしてアカウントを作成してください。