2006-06-01から1ヶ月間の記事一覧
id:namasute0さんが超短いコードを書いていた。 私も追いつかねばなるまい。malloc/freeを使わない方法はないのか。
http://www.acm-japan.org/icpc2006/jp/ いよいよ明日なワケですね。私は学生ではないので指をくわえて見てるだけなのですが、是非とも頑張ってほしいものです。私が大学生の頃はバイトばっかりして遊びまくってたので、ACMの存在なんてまったく知りませんで…
79B69B http://acm.pku.edu.cn/JudgeOnline/problem?id=2605 Discussのところだけ見て書いたコード。正直、どんな問題なのかよくわかっていないwということはまだ縮むのかもしれない・・・。
97B http://acm.pku.edu.cn/JudgeOnline/problem?id=2853 ちゅうわけで解答のコードは10秒くらいで出来ちゃったわけだが、慎重に削らなければならない。なぜなら私は(ry
117B http://acm.pku.edu.cn/JudgeOnline/problem?id=2081 今までに150問以上の問題を解いてきたわけだが、今回初めてmallocなんて使った。freeも使った。
しばらく職場でネットできないので、じっくりはてなの更新が出来ません。お陰で仕事がはかどりますw てなわけで、質より量。特に説明無しで超短いコードを晒し上げます。「お?これってもうちょっと削れるんでね?」と思ったら遠慮なく削っちゃってください…
(□□-□)/(□□-□□)=15 □には2,3,4,6,7,8,9の数字が一つずつ入る。 私がこれをPKU風に書くとすれば、 main(){puts("4837269");} 24B。 わざわざ器械に計算させるということは、答えの順列が膨大で手作業ではどうしても無理である必要があるわけで、私にはなんの…
ずいぶん前にやったのでどうだったか見てみたら、特に短縮はしてなかった・・・スマソ。まあ気が向いたら縮めますが、とりあえずそのまま載せときます。
リクエストがあればドゾ。
http://acm.pku.edu.cn/JudgeOnline/problem?id=2665 説明略
http://acm.pku.edu.cn/JudgeOnline/problem?id=2316 またまたやってしまった・・・。 「ああ、数字足すだけネ」と、完全に問題を読み間違えた私。何度やっても通らず、「アレ?intに収まらんのかな?」とかアホなことをしばらく考えて、ようやく単なる足し…
http://acm.pku.edu.cn/JudgeOnline/problem?id=2840 gets()技を使いたくてもランタームエラーが・・・ そんなときは同じコード長で色々なコードを書いてみましょ
http://acm.pku.edu.cn/JudgeOnline/problem?id=1423 微妙な精度の問題で、なかなか通らなかった問題。一度通るとなんとかなりそうなのだが・・・。
朝から出かけていたので超お疲れ。本当はもちょっと丁寧に説明したかったのだけど。勘弁してくだされ。というか、いつのまにやらid:shinichiro_hさんまで参戦して、ますます競争が激しくなった(´ω`)しんどい。他のコードも明日あたりにまとめて晒しときます…
フィボなっち。最初は黄金比使うのかなーと思ったけど、普通にfor文で書いたほうが楽だし短い。ちなみにforを一回でやろうとするとprintfを2回スキップしなければならないのであまり短くならない。 main(n,a,b,m){ for(;~scanf("%d",&m);--n&&printf("Scenar…
この問題は、a,bのどちらかだけ0というインプットがあるようで注意が必要。あとは、値がデカイのでdoubleを。ただ、精度はそれほど重要でないのでk*=a--/b--でokです。 double a,b,k; main(){ for(;scanf("%lf%lf",&a,&b),a+=b;printf("%.f\n",k)) for(k=1;b…
今日はコードを書かぬと決めていたけどいつの間にやら抜かれていたので。。。眠い。
変態的な97B http://acm.pku.edu.cn/JudgeOnline/problem?id=1936 スペースで区切られた2つの文字列について、左側の文字列が右側に含まれるかを調べる問題。たとえば、 ABC qAwBeCrという入力であれば、離れてはいるが右側の文字列にABCが含まれているので"…
ショートコーダーは言語を選ばず http://acm.pku.edu.cn/JudgeOnline/problem?id=2390 最短コードを狙うには基本的にcで書くのだが、cではどうしてもトップを取れない問題があった。それが2309番だ。
いろいろ弄っているうちに、PKUのメモリ測定は私がやっているのと同じ方法なんじゃないかという気がしてきた。というのも、fpcでコンパイルした実行ファイルで試していると、 begin end.という何もしないコードも bgin writeln('Hello');end.という出力だけ…
さらに短縮62B 変態的に削るために、良い子は書いちゃいけない処理系依存しまくりのコードを書かねばならない。
悩んでてもしょうがないので、とりあえずOnline Judgeを実施しているところにメールを送ってみた。返事くるかなぁ・・・。
どこから手をつけるか この問題を見て最初に思い浮かんだのは、2008番でk.inabaさんの説明(http://d.hatena.ne.jp/Ozy/20060201#p1)を見て知った範囲の重なり部分を見つける方法。図のように各セグメントの端点ごとに領域を区切り、それぞれのエリアでセグメ…
各位の数を足して、2桁以上になればまた各位の数を足して・・・と、一桁になるまで計算する問題。インプットがかなり大きいようなので、getchar()で一文字ずつ読みながら計算することをオススメ。100バイト切るだけでも十分短いと思います。と、もう少し引っ…
階乗の数の桁数を求める問題だが、もちろん桁数が半端じゃないので実際に階乗計算するわけにはいかない。本当は超短いコードを公開しようと思ってたのだけど、もうちょっといろんな人がやってからの方が面白いかなーと思うので一般的な解き方を説明しておく。
思いつく限りの店を回り、マジでそろえた・・・アホだ。
長くなったので明日書きます(´ω`)
()を最小限に。改行の場所に悩むw
・良い子は絶対書いちゃいけないコード
色々と書きたいことが増えてきたので、一問一問取り上げるのはちょっとしんどくなってきました。っちゅうわけで、超短いコードを数問まとめて晒します。これからチャレンジという人もいるかもしれないので、時間差UPということでとりあえず予告。 1922番 Rid…