Codeforces Unknown Language Round #1 I "Sort the Table "
問題:http://codeforces.com/contest/64/problem/I
参加形式:本番
カラム名,ソートするカラム名と昇順降順の指定およびテーブルが与えられる.ソートするカラム名と昇順降順の規則にしたがってソートした結果を求める.
lsortを使ってソートするだけ.-indexでその位置の値でソートする.
コード
set a [split [gets stdin]] set rules [split [gets stdin] ,] while {[gets stdin line]>0} { lappend li $line } set rules [lreverse $rules] foreach {line} $rules { scan $line {%s %s} col order set li [lsort [expr ("$order"=="ASC"?"-increasing":"-decreasing")] -index [lsearch $a $col] $li] } puts [join $li \n]