naiの日記

ソフトウェアエンジニアから放射線科診断医にジョブチェンジしました。趣味のことを書きます。

881. Hello transposable world

Hello broken keyboardに続く,変則ルール Hello, world! です(他にもあったかも).今回は行と列をひっくり返しても同じコードとなるような条件で書けというもの.
最初は左下半分にコードを書いて残りをコメントで埋めるだけかと思いましたが,当然そうは問屋が卸さなかったわけで.

C

私のコード

Cの89B陣は全員が,文字列リテラル中にバックスラッシュを書くとそのまま改行できることを利用しています.
私のコードは他のお二人と違い(バックスラッシュ後にスペースは書けることを知らなかった),\x0d ('\r') をコンパイラは改行とみなすがtranspose判定時は単なるバイナリと認識されることを利用しています.
\rと\nの違いを利用してコンパイラを騙す? プログラムを書くことは私の長年の夢だったので,叶えられて満足です.


それにしても,89B解を最初にsubmitしたushさんはやはり凄い.
89B解があると言われて見つけるのと,誰も89B解を出していないのに自分で発見することは全く違います.
私なんか最初は,109Bを切ることは不可能という結論に達していました.

Perl

これやばすぎでしょ……
tailsさんのコード
teebeeさんのコード
Perlで書くなら行コメントは甘え」というお二人の声が聞こえてくるかのようです.
(ちなみに\x04は,テキスト終端(^D)を意味し,それ以降の文字列は無視されるみたい)
正直Perlでこわいひとに勝つのは無理なので,今回はどうにかバイト数だけでも肩を並べられたことに満足してぐっすり寝ようと思います( ゚ω゚ )