code golf(4)
なんとか
プログラムがPASSできるものはできた。
……が、順位はとてもひどいものになっている。
ここのページで masao を検索するとおれの恥ずかしい記録を見ることができる。
で、とりあえず今思いつくショートコードを目指したわけだが、どう見てもショボイです。本当にありがとうございました。
どこを短くすれば良いのか
最短コードはおれのコードで言うと描画処理部分だけとコード量がほぼ等しいわけで。これは、おれのプログラムの各処理無駄があるのか、そもそも切り口が違うのか。
少なくとも、データ取得部分はもう少しやりようがあるような気がする。
ここから先は Code Golf をやる人はみないでね(ソースが載ってるから)
このソースにインデントのスペースを除去したのがアップされている。
この形ではこれ以上短くできないように思えるんだけどなぁ。。。
a=[] while(gets) t=$_.split a<<[t[1].to_i,t[0].to_i,t[2].to_i] end x=0 y=0 a.sort.each do |l| if y==l[0] puts y+=1 x=0 end while x<l[1] print " " x+=1 end print l[2].chr x+=1 end puts
あんまり悩んでもハゲるだけなので
これ以上コードが短くならなきゃそれで良しとして、他の問題でも解いてみよう。やってるうちに閃くかもしれないし。