うるう年
http://golf.shinh.org/p.rb?leap+year
うるう年かどうかを判定するプログラムです。さっきとりあえず書いてみたら、Cで91Bのコードになりましたが、Rubyだと70Bくらいでしか書けません。なので、Cはもっと縮むんでないかなーと思うのですがどうでしょうか。それなりにテストケースは多いですが、入力依存のコードを書くことは可能なので、ビット演算とか剰余とかを工夫すれば…と思ったりします。ヒマな人はレッツちゃれんじですよ!
Numeral system
http://golf.shinh.org/p.rb?Numeral+system
乗り遅れました。Javaで書いてみようかと思ったら、Scannerクラスが使えないみたいですね。gcjの問題なのでしょうか…。
お亡くなり!?
どうやら直接蘇生を行わないと死んだままのようです。寂しいですねー。しかしサーバが復活するまでボケーっとしてるのもアレですから、ゴルフできない期間を利用して新生穴ゴルサーバーに追加してほしい機能とか、なんか新しいアイデアを考えましょー > 皆さん
えーと、今思いついたのは、deadline付きの問題の場合だけ期間内は記録が表示されない(順位だけ)にすると結構燃えるんじゃないかなーっていうのです。PKUのコンテストでは期間内だけ記録が表示されなくて、結構ドキドキしたので。あと、FizzBuzzみたいに100人以上postしていると記録を見るのが大変なので、20人くらいで区切って表示とかしてもらえると良いかなー。
んー、あと何があるやろ・・・
123
http://golf.shinh.org/p.rb?123
さすが穴ゴルとしか言えん問題です。如何に高確率で狙えるかがポイントかと思われます。kurimuraさんの記録をみて、「ちょww」と思いました。しぇるぴんすきーが好きーくない人はこれで全言語制覇したらいいじゃないかなー。
- 追記
しょーもないスクリプトを書いているヒマがあったらps axで最初から無理なことに気付いとけ、というかそのくらい知っとけという醜態。
- 攻撃しちゃってごめんなちゃいのまとめ
私と同じようなことをしている人(と考えている人)が何人かいるはずなので、1つの情報としてまとめておきます。実際にRubyやらPerlで参加してみた人はよくわかっていることだとおもいますが、テストケースが2つ以上ある場合は連続して実行されるのでプロセスIDが連番になります。ただし、実行時には不信なプロセスでないかトレースされているので1回に2プロセス、つまり2ずつプロセスIDが増加していることになります。もし運良く最初のプロセスIDが2または3であってくれれば、プロセスID/2で1,2,3と出力されるはずです。てなわけで、昨日の夜22時頃プロセスIDの状況をちょろっと見てみますと、結構大きな値にまで増加していました。その間にコマンドラインから直接Submitできるスクリプトをちょちょっと作っておいて、ご飯食べてうだうだしてふにゃふにゃして大体0時頃だと思います。「んーそろそろかー」と思ってもう一度プロセスIDをチェックすると、32767に近づきつつあったのでスクリプトを実行。その間プロセスIDの増加状況を見ていると、明らかに複数の人間が同じ事をしている(笑)
そんなこともあって、比較的短時間(1:00前)でプロセスIDは1周してしまいました。予定通りにプロセスIDが2か3に割り当てられていればめでたしなのですが、自分が動かしたスクリプトのログを見てみると0から300くらいが明らかに抜けています。後になってps axコマンドで「あちゃー(ノд`)」てなことに気付いたのですが、そのときは、なんでかなーと思ってとりあえずプロセスIDをもう1周させることにしました。とはいえ、1万回以上Submitするわけにもいかないので、1回のSubmitでプロセスを大量起動できるようにfork爆弾を投入しました。これで手っ取り早いやーと思ったのですが次第にわけのわからない出力になり、ついには反応が無くなりました。「やっちゃった(;´д`)」このとき大体1:20。
「ごめんなさいごめんなさいごめんなさい」と思いながら就寝です。で、朝見てみたらすぐに復帰していたようで安心。まあそんなことがありました。というわけで、この方法ではダメです。プロセスIDをがんがん増やす前にちゃんと下調べしておけよってとこで、今回は反省。