ToDo:
http://www.typemiss.net/2011/01/spoj-shorten.html
で書かれてる通りテストケースかなり適当なんだよなぁ。
http://twitter.com/kinaba/status/23392088473214977
まず kinaba さんが書いておられる通り出力フォーマットが適当ってのがあって、 それはまぁたぶん scanf で読んでるっぽい感じの問題が多くて、 そっちはまぁ
https://www.spoj.pl/SHORTEN/embed/rules/
あたりにも書いてあるからまぁいいとして。
問題はテストケース見せてないからなんとかなってるだけーって程度に テストケースが十分に無いやつがあるってことだよな。 例えば SUDCHECK なんてテストケースの数の bit 数があれば 解答埋め込めちゃうから、 こんなもんすごい数のテストケースが無いと ルール無用なゴルフとしては全く成立してないのだよな。
https://www.spoj.pl/SHORTEN/problems/SUDCHECK/
そんなこんなでまぁ色々やる気は起きない要因はあるんだけど、 なんか BF 使う問題とかあったりとかはちょっと面白いかとおもう。
てかこのへんの制約は ICPC のためにほげほげな SPOJ だから、って理由がほとんどだよなぁ。 あくまでゴルフ場ではないっつーか。
あと与えられてる sample inputs が異様に簡単なものばかり、ってのも ICPC 的な感じなんだろうなぁ。 問題の spec から難しいテストケースを考える、 ってのは重要な能力ではあるものの、 なんかどうもプログラムコンテストとしては余計なものに感じちゃったりもする。
まあなんだかんだ言いつつ3位。
一番面白かった問題(というか解いてないが)は INTER で ruby だと gets するだけで TLE 。 https://www.spoj.pl/SHORTEN/problems/INTER/
(08:20)
http://d.hatena.ne.jp/kawango/20110107
ニコニコではこのへんが問題になるのなーという感じもあるけど、 本当にそうなんか? グーグルだとなんか色々調べたけど、 ある程度高速な回線だと結局クライアントのオーバヘッドがデカいぞ、 って話で HTML を頑張って色々やったらユーザの幸せがだいぶ増えたとかいう話があって (たしかこの本…だっけ http://www.amazon.com/High-Performance-Web-Sites-Essential/dp/0596529309)、 ニコニコも体感だと動画とか以前に、最初にページ出るまでが結構長いんだけどな。
(10:09)
いくらなんでも gets だけでタイムアウトしてるのはおかしいが、 測ってみると ruby1.9 の gets はマジで遅い。 これは M17N の影響だったりするんだろうか。
> time sh -c "ruby -e 'puts %q(c)*10000000' | ruby -e 'gets'" sh -c "ruby -e 'puts %q(c)*10000000' | ruby -e 'gets'" 0.19s user 0.17s system 91% cpu 0.396 total > time sh -c "ruby -e 'puts %q(c)*10000000' | ruby1.9 -e 'gets'" sh -c "ruby -e 'puts %q(c)*10000000' | ruby1.9 -e 'gets'" 1.32s user 0.19s system 94% cpu 1.591 total > time sh -c "ruby -e 'puts %q(c)*10000000' | perl -e '<>'" sh -c "ruby -e 'puts %q(c)*10000000' | perl -e '<>'" 0.21s user 0.12s system 93% cpu 0.360 total
(10:46)
前 | 2011年 1月 |
次 | ||||
日 | 月 | 火 | 水 | 木 | 金 | 土 |
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 | 29 |
30 | 31 |
全てリンクフリーです。 コード片は自由に使用していただいて構いません。 その他のものはGPL扱いであればあらゆる使用に関して文句は言いません。 なにかあれば下記メールアドレスへ。
getsの問題、うちでは再現しませんねぇ。ruby19がtrunk+linuxなのが原因かもしれませんが。