Tokyo Westerns/MMA CTF 2nd 2016 write-up

ちょくちょくできないなりにCTF参加してるけど、記録を残さないと自分でも忘れてしまうので。 Web系が一つもできないのはつらい。アセンブリ読むの好きといいつつPwnも全然ダメ。このあたりができればもっと楽しいのだろうなぁ。 [Misc] [Warmup] Welcome!! …

Piet golfでハマる

npiet(1.3d時点)のGIF周りのバグや未実装機能など。全ピクセルを愚直に圧縮せず、末端(最終行など右下方面)は書かないというのがゴルフ的な手法だが、ハマリポイントだった。まず、npietはGIFのimage部分しか見ていないため、Background Color Indexは無視さ…

最近のあなごる

最近公開されたものなど。 619. Alphabet texture一回ならともかく、二回もabs()と書くのは残念だなぁと思って、他の道を探ったのが功を奏して単独トップ。abs解で26周期にするのが思いつかず、自分のabsコードが長かったのもよかった。文字コードの増減に着…

最近のあなごる

没コード集。 608. GCD Againケース数が鬱陶しい。ケース数の無視は、scanf("%d",gets(&x))が+6Bで典型だけど、行内に複数入力あったり、vprintfと組み合わせるために"%d\n"を使うと破綻する。変数増やしてprintfに条件をつけると+7B。GCDは普通に割り算して…

最近のあなごる

約四年ぶりに書いてみる。あなごるは321. add_sub_brainfuck_code以来二年ぶり。 590. Time Arithmetic時間の足し算をする問題。64bitに8文字まとめてとって演算してからごにょごにょすることを考えたが、6進や10進ではビット演算が使えない上に、24進の処理…

PKU2503 Babelfish (2)

Ozyさんのところでコードが紹介されたので(http://d.hatena.ne.jp/Ozy/20080809#p1)、こちらも晒します。

PKU1163 The Triangle

G++で最短をとれた記念。 解法 よくある問題なので簡単に書くと、ピラミッドの各点について、自分にたどりつくまでのコストの最大値を求めながらDP。短くするためには、一番最初に与えられるピラミッドの段数の処理を工夫する必要がある。たぶん、getsや場合…

PKU2503 Babelfish

10万語ぐらいの辞書が与えられる。各クエリに対して、対応する中身があればその中身を返して、なければ"eh"と表示する。 なぜか人気のある問題。mapでも間に合うようにとの配慮からか、3000MSもある。 せっかくなのでSTLの練習。158B。

なんとなく

はてなさんのお世話になることにしました。 そのうちどこかに移転するかもしれません。

PKU3671 Dining Cows

問題の解法 Ozyさんのわかりやすい解説。 http://d.hatena.ne.jp/Ozy/20080731 コードの短縮過程 // 79B a,b;main(n){for(;a<b?b=a:0,~scanf("%d",gets(&n));a+=n-1)b+=2-n;printf("%d",b);} // AC 77B a,b;main(n){for(;~scanf("%d",gets(&n));a<b?b=a:0)n>1?a++:b++;printf("%d",b);} // AC 76B a;main(b,n){for(gets(n);a</b?b=a:0,~scanf("%d",gets(&n));a+=n-1)b+=2-n;printf("%d",b);}>