カメヲラボ

主にプログラミングとお勉強全般について書いてます

2006-03-01から1ヶ月間の記事一覧

487-3279(2)

テストケースの穴 電話番号が7桁ということは、0000000〜9999999までの1000万通りもある。しかしインプットの個数は最大10万である。ということは確率的に同じ番号が何万個も重なるというのはまずありえない。

487-3279(1)

人様のコードを短くするヤツ http://d.hatena.ne.jp/kurimura/20060329 kurimuraさんが天才的なコードを連発しているので、自分のコードの前にkurimuraさんのコードを短くしとこう。。。

Last Digits(2)

通ったコード GCC、G++では頑張ってみたが通らなかった(´ω`) でもC++では通った上に最速タイムもでたので良しとしよう。*1 もちろん、これで最短コードを極める元気は無い。。。 *1:ま、最速で通そうと思えばテーブル作れば超高速だが^^;

487-3279(0)

http://acm.pku.edu.cn/JudgeOnline/problem?id=1002 電話番号(7桁)を整理する。電話番号と言っても、アルファベットやハイフォンが混ざっていて、アルファベットは対応する一桁の整数に変換しなければならない。要するに、文字列を正しい7桁の電話番号に…

Congratulations!!

超絶高校生で有名なid:kiwi_xpさんが某情報オリンピックの代表に選ばれたそうだ。スゴー!!(゜Д゜)さすがですね〜。私が学生だったのは随分昔なので、超絶学生はもうダメだろう。20代も終わりが近づいている。超絶おにいさんはちょっと恥ずかしいので、今から…

短くなっちゃった問題

久々にid:RiSKさんからトラバが来たので、いくつか記録報告を。 まず、1488番 http://acm.pku.edu.cn/JudgeOnline/showproblem?problem_id=1488 64B 2551番 http://acm.pku.edu.cn/JudgeOnline/showproblem?problem_id=2551 77B 2726番 http://acm.pku.edu.c…

Last Digits(1)

iの値が大きくなれば・・・ 前回のコードを実行して、どんな値になるのかを見てみるとある特徴に気が付く。ここにすべての場合を書き出すわけにはいかないので、b=2,1

Last Digits(0)

問題の概要は http://d.hatena.ne.jp/tanakh/20060321#p1 を見ていただくとして、tanakhさんの予想が成り立たない例外を簡単に書いておく。

ありえねーな問題だな、これも。

奇跡のコード160B すっかり忘れていた問題だが http://d.hatena.ne.jp/RiSK/20060324#1143177875 RiSKさんの日記で思い出した。

合ってるのか間違ってるのか・・・。

http://www.mesastate.edu/acm/rmrc/2005/index.html で、インプットにすべての可能性100通り×100通り×7通り=70000ケースを含んだデータを見つけたのでこれでテストしたコードをSubmitしたのに何故かWA。わけわからん。くむーくむーくむーーーーー!!!!!…

工工エエエエエ(´Д`)エエエエエ工工な問題集①

今まで色々な問題をやってみて、イイんですかソレ^^;という問題に出会ったので紹介しておく。ちなみにここらへんはショートコードを始めて初期の頃なので、もしかしたらまだ短くなるかもしれない。こないだ何気なく1517番を見てみたらまだ縮むことに気付いた…

100問目は

http://d.hatena.ne.jp/tanakh/20060321#p1 を見て出来そうな気がしてきたので、頑張って解くことにする。しかしまだ98問しかクリアしていないので、その前に適当に1問だけ片付けとかないとなぁ。。

めんどくさー

もう少しで100問達成なのでどんどん解きたいところだが、超短いコードが書けそうな問題を探すのがめんどうだ。tanakhさんが解く問題は難しそうなのが多くて最短コードには向いてないのだが、http://d.hatena.ne.jp/tanakh/20060320#p3の日記に書いてある問題…

ハノイのフォォォォォォォオオオ!!

http://acm.pku.edu.cn/JudgeOnline/showproblem?problem_id=1958 通常ハノイの塔といえば、3つのタワーとたくさんの円盤が出てくるのだが、この問題はタワーが4つになっている。4つもあるので、円盤の移動回数はタワーが3つの時より少なくて済む。そのかわ…

BST(3)

最短コード69B

BST(2)

ビット演算超魔術(その2) 0と1の反転は演算子「~」を使えば簡単に出来るのだが、今回は部分的に入れ替えたり反転させたいので使うことができない。

BST(1)

ビット演算超魔術(その1) 短いコードのために、必ず書かなければならない部分のバイト数を確認しておく。

BST(0)

http://acm.pku.edu.cn/JudgeOnline/showproblem?problem_id=2309 図*1のような完全2分木について、あるノードを根とした場合の最下層における最小値及び最大値を求める問題。 例えば入力が8の場合は、1と15を出力する。12なら9と15。6なら5と7という具合だ…

Sum of Factorials(4)

最短コード96B 前回のコードをさらに削ると最終的に97バイトのコードが出来る。 追記を参照してチョ(`ω´)

Sum of Factorials(3)

楽しい作業 前回のコードは超長〜いので、ガシガシ削っていくことにする。

Sum of Factorials(2)

まずは普通に 前回書いたトラップを回避するためにとりあえず単純にコードを書いてみて、それを短縮していくことにする。

Sum of Factorials(1)

悩ましいトコロ 階乗が絡んでくる問題は、大抵の場合事前に計算するよりも 実行時に計算した方が良い。

Sum of Factorials(0)

http://acm.pku.edu.cn/JudgeOnline/showproblem?problem_id=1775 階乗で表すことのできる数 0! = 1 1! = 1 2! = 2 3! = 6 4! = 24の和で表すことができる数かどうかを判定するコードを書く問題だ。 可能ならYES、不可能ならNOを出力する。 例えば、 8 = 2! …

kurimuraさん週間でいこう

ショートコードというのは一人でやっててもゼンゼン面白くない。私がこれだけ続いているのは、RiSKさん、kurimuraさん、ロベールさん、そして最近よく相手をしてくれるhinoeさんがいるからというもの。いつも遊んでくれてありがとうゴザイマス>皆様 さて、今…

Steps(5)

最短コード79B

Steps(4)

もっとカシコーなやり方 私はsqrt関数を使う時、いつもint型にキャストしているので見落としてしまっていたのだが、double型のままで値を眺めていると超簡単なやり方があることに気付く。

Steps(3)

とっても短いコード88B sqrtを利用するとループを使う必要が無くなるので、コードは短くなる。

Steps(2)

規則性を見つけよう(続き) ポイントは解の値が増えるタイミング。

Steps(1)

規則性を見つけよう 2点間の距離を求めて、その間が何stepで移動可能なのか・・・と考えると少し複雑に見えるが、逆に1step,2step,3step,4stepと増やしていった時に最大どこまで移動できるのかを考えると、規則性は容易に見えてくる。

Steps(0)

http://acm.pku.edu.cn/JudgeOnline/showproblem?problem_id=2590 数直線上を以下のルールに従って、正の方向に移動する。 ①1Stepの距離は自然数で、前のStepと同じか一つ違い。 ②Stepの最初と最後は必ず距離が1でなければならないサンプルインプットは以下…