問題:http://codeforces.com/problemset/problem/64/H
プラクティス.
人数と名前とスコアが与えられる.スコアにしたがって順位づけをした結果を求める.
ソートして同じスコアの人を求めてその順番の範囲を求めた上で出力する.
コード
for {gets stdin t} {$t>0} {incr t -1} { lappend a [gets stdin] } set a [lsort -decreasing -integer -index 1 [lsort -index 0 $a]] foreach {v} $a { set is [lsearch -all $a "* [lindex $v 1]"] set is "[expr {1+[lindex $is 0]}] [expr [llength $is]>1?1+[lindex $is end]:\"\"]" puts "[join $is -] [lindex $v 0]" }