You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
55 lines
1.2 KiB
55 lines
1.2 KiB
replacements, molecule = DATA.read.chomp.split("\n\n")
|
|
replacements = replacements.scan(/(\w+) \=> (\w+)/)
|
|
puts replacements.flat_map {|k,v|
|
|
m = molecule.split(k, -1)
|
|
(0...m.size-1).map {|i|
|
|
m[0..i].join(k) + v + m[i+1..-1].join(k)
|
|
}
|
|
}.uniq.size
|
|
__END__
|
|
Al => ThF
|
|
Al => ThRnFAr
|
|
B => BCa
|
|
B => TiB
|
|
B => TiRnFAr
|
|
Ca => CaCa
|
|
Ca => PB
|
|
Ca => PRnFAr
|
|
Ca => SiRnFYFAr
|
|
Ca => SiRnMgAr
|
|
Ca => SiTh
|
|
F => CaF
|
|
F => PMg
|
|
F => SiAl
|
|
H => CRnAlAr
|
|
H => CRnFYFYFAr
|
|
H => CRnFYMgAr
|
|
H => CRnMgYFAr
|
|
H => HCa
|
|
H => NRnFYFAr
|
|
H => NRnMgAr
|
|
H => NTh
|
|
H => OB
|
|
H => ORnFAr
|
|
Mg => BF
|
|
Mg => TiMg
|
|
N => CRnFAr
|
|
N => HSi
|
|
O => CRnFYFAr
|
|
O => CRnMgAr
|
|
O => HP
|
|
O => NRnFAr
|
|
O => OTi
|
|
P => CaP
|
|
P => PTi
|
|
P => SiRnFAr
|
|
Si => CaSi
|
|
Th => ThCa
|
|
Ti => BP
|
|
Ti => TiTi
|
|
e => HF
|
|
e => NAl
|
|
e => OMg
|
|
|
|
CRnCaSiRnBSiRnFArTiBPTiTiBFArPBCaSiThSiRnTiBPBPMgArCaSiRnTiMgArCaSiThCaSiRnFArRnSiRnFArTiTiBFArCaCaSiRnSiThCaCaSiRnMgArFYSiRnFYCaFArSiThCaSiThPBPTiMgArCaPRnSiAlArPBCaCaSiRnFYSiThCaRnFArArCaCaSiRnPBSiRnFArMgYCaCaCaCaSiThCaCaSiAlArCaCaSiRnPBSiAlArBCaCaCaCaSiThCaPBSiThPBPBCaSiRnFYFArSiThCaSiRnFArBCaCaSiRnFYFArSiThCaPBSiThCaSiRnPMgArRnFArPTiBCaPRnFArCaCaCaCaSiRnCaCaSiRnFYFArFArBCaSiThFArThSiThSiRnTiRnPMgArFArCaSiThCaPBCaSiRnBFArCaCaPRnCaCaPMgArSiRnFYFArCaSiThRnPBPMgAr
|