一瞬まどまぎかと思ったのは自分だけでは無いハズ。
問題を理解するのに異常に手間取った。
Aを解けずにBに来たので、泣きそうになった。
英語だと、三文くらい読むと前に書いてあった事を忘れるので、
与えられるのがelement listではなくて、与えられたのを生成してelement listに入れていくという事を忘れていた。
どういう順番でcombine、opposedしていくのか解らず、sampleの#3が解らないという状況に。
何回か書いてアレー?となって、頭を冷やす為にCへ行って、D→Aを経て戻ってくる。
結局ただ左から順にpushして処理すればいいだけだという事に気付き、なんとか書いて提出。
smallでWAをもらい、何か直して提出。smallでACってそのままlargeも投げた。
input = gets.split(" ") comb = [] opp = [] inv = "" input.shift.to_i.times do comb.push input.shift end input.shift.to_i.times do opp.push input.shift end comb.map!{|a|[a,[a[1],a[0],a[2]].join]}.flatten! opp.map!{|a|[a,[a[1],a[0]].join]}.flatten! inv = input.shift.split("") unless input.shift.to_i.zero? res = [] until inv.empty? res.push inv.shift unless res.size < 2 i = comb.index{|x|x[0..1]==res[-2..-1].join("")} unless i.nil? res.pop res.pop res.push comb[i][2] next end res = [] if opp.any?{|x|x[1]==res[-1] && res.any?{|y|y==x[0]}} end end "["+res.join(", ")+"]"
combもoppも、順不同なので、最初から両方の順番を突っ込んでおくと楽。
ex:"QFT"→"QFT","FQT"
kerlon2011/05/09 23:43まずAのときに、何これークリックしてみよー^q^ → 1 wrong try
次にBに、「出来た(キリッ」 → アウトプット作り忘れてて 1 wrong try
Mi_Sawa2011/05/09 23:45>kerlonさん
まぁ慣れる意味も含めてのQRだろうし、この先やらかさなきゃいいんじゃないかなw