Skip to content

Instantly share code, notes, and snippets.

@maraigue
Last active November 2, 2018 18:44
Show Gist options
  • Save maraigue/97488ba9df768e73f6406148d2ee412c to your computer and use it in GitHub Desktop.
Save maraigue/97488ba9df768e73f6406148d2ee412c to your computer and use it in GitHub Desktop.
シンデレラガールズのアイドル名を、手前から見て一致しているものが並ぶよう表示
#!/usr/bin/env ruby
# -*- coding: utf-8 -*-
strs = DATA.readlines
strs.each{ |line| line.chomp!; line.encode('utf-8') }
strs.uniq!
strs.sort!
width = strs.map{ |s| s.length }.max
parent_end = [0] * width
puts "<meta charset=\"utf-8\">"
print "<table border=\"1\">"
(0...strs.size).each do |i|
print "<tr>"
(0...width).each do |c|
# c文字目が同じ文字である文字列がいくつあるか?
if c >= strs[i].length
print "<td>&nbsp;</td>"
next
end
if i >= parent_end[c]
j = i
begin
j += 1
end while ((c == 0 && j < strs.size) || (c >= 1 && j < parent_end[c-1])) && strs[j][c] == strs[i][c]
parent_end[c] = j
if j - i == 1
print "<td colspan=\"#{width-c}\"><span style=\"font-size:200%\">#{strs[i][c..-1]}</span><br><span style=\"font-size:75%\">#{j-i}</span></td>"
break
else
print "<td rowspan=\"#{j-i}\"><span style=\"font-size:200%\">#{strs[i][c]}</span><br><span style=\"font-size:75%\">#{j-i}</span></td>"
end
end
end
print "</tr>"
end
puts "</table>"
__END__
しまむらうづき
なかのゆか
みずもとゆかり
ふくやままい
しいなのりこ
いまいかな
もちだありさ
みむらかなこ
おくやまさおり
まなかみさと
こひなたみほ
おがたちえり
いがらしきょうこ
やなせみゆき
さくらいももか
えがみつばき
ながとみはすみ
よこやまちか
せきひろみ
おおたゆう
むなかたあつみ
ふじもとりな
おおはらみちる
ゆさこずえ
おおぬまくるみ
いちのせしき
まえかわみく
あかにしえりか
まつばらさや
あいはらゆきの
みやもとふれでりか
こばやかわさえ
さいおんじことか
ふたばあんず
やおふぇいふぇい
ももいあずき
すずみやせいか
つきみやみやび
ひょうどうれな
にわひとみ
どうみょうじかりん
やなぎきよら
いむらせつな
くさかべわかば
さかきばらさとみ
こしみずさちこ
あんざいみやこ
あさのふうか
おおにしゆりこ
あべなな
くどうしのぶ
くりはらねね
こがこはる
くらりす
さくままゆ
むらまつさくら
しらぎくほたる
はやさかみれい
ありうらかんな
おとくらゆうき
はらだみよ
いけぶくろあきは
しぶやりん
くろかわちあき
まつもとさりな
きりのあや
たかはしれいこ
あいかわちなつ
かわしまみずき
かみやなお
かみじょうはるな
あらきひな
とうごうあい
ただりいな
みずきせいら
ささきちえ
みふねみゆ
はっとりとうこ
きばまなみ
ふじわらはじめ
にったみなみ
みずのみどり
ふるさわよりこ
たちばなありす
さぎさわふみか
やがみまきの
らいら
あさりななみ
へれん
まつながりょう
こむろちなみ
たかみねのあ
たかがきかえで
かんざきらんこ
いじゅういんめぐみ
ひいらぎしの
ほうじょうかれん
けいと
せなしおり
あやせほのか
さじょうゆきみ
しのはられい
わくいるみ
よしおかさき
うめきおとは
しらさかこうめ
きしべあやか
うじいえむつみ
にしかわほなみ
なるみやゆめ
ふじいとも
しおみしゅうこ
わきやまたまみ
おかざきやすは
はやみかなで
おおいしいずみ
まつおちづる
もりくぼのの
あなすたしあ
やまとあき
ゆうきはる
にのみやあすか
きりゅうつかさ
もちづきひじり
たかふじかこ
ほんだみお
たかもりあいこ
なみきめいこ
りゅうざきかおる
きむらなつき
まつやまくみこ
さいとうようこ
さわだまりな
やぐちみう
あかぎみりあ
あいのなぎさ
まなべいつき
おおつきゆい
ひめかわゆき
きたみゆず
うえだすずほ
えびはらなほ
おいかわしずく
こせきれいな
えとうみさき
ほししょうこ
かたぎりさなえ
ほりゆうこ
にしじまかい
まとばりさ
ざいぜんときこ
よりたよしの
あいばゆみ
ののむらそら
はまかわあゆな
わかばやしともか
じょうがさきみか
じょうがさきりか
せんざきえま
ひのあかね
もろぼしきらり
とときあいり
なたーりあ
そうまなつみ
まきはらしほ
むかいたくみ
いちはらにな
きたひなこ
すぎさかうみ
きたがわまひろ
めありーこくらん
こまついぶき
みよしさな
きゃしーぐらはむ
なんばえみ
はまぐちあやめ
むらかみともえ
つちやあこ
しゅとうあおい
さえじまきよみ
さとうしん
なんじょうひかる
いヴさんたくろーす
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment