研究室のロゴをQuineにしてみた
GoogleがQuineで自分のロゴ作ってたから、僕も真似して研究室のロゴQuineにしてみた。
perlで実行出来るよ!
$_ =q {$ a= "hjajK Jk l9fasd(&'& $%&%$&gash se tr ya aa a5 4w 43 3y tuitiutg&( %&'hgu iiugS& )( &) (&iyhi lh ihIUGUGgkj gj HH Ih g; et jk as il uI HUGUGIUG"; @a =s pl it(//,"\$_=q{$_} ;".'$_=~s/ \s //gm;e va l' ); $l =' Al 52 54 1E@Eh5 21 Ae AeA@15 64 4041E@b55A e0 Ag 0A @6 52 1H a6 1C @b 55AiA@b552 2412Cb A@65Ae 01AgA@ 51644465A@ 5A g0 0A e5 E@ 5A g4 4C bB gA @@DaFaKfA@ aA d2 266K@a Ad22Ai 1AiA@a Ad22 1G a5G@BcFa 44CdA@Ae22Bb CbBd5A@14226EdE@0122Ce Cf A@ 01 22 605G@0122A e5AfA@1422 KaK@';@b=('AaAa','Aa', 'A b' ,' AA ', 'C a' ,' Ac ', 'E a');for$i(0..6 ){ $l=~s/$i/$b[$i ]/g; }$l=~s/([a-z ])/'.' x(ord( $1)*2- 19 2) /g e; $l=~ s/([A- Z])/ '* 'x (o rd($1) *2 -1 28)/ge;for $i(split(/ /,$l)){$o= "\ n" ;i f( '. 'eq$i) {$o=ch r( 32 ); }e ls if ('*'eq$i){ $o =s hi ft(@a);}print$ o} $a =" hj aj KJ kl 90 34 58 ilJLKJ +J IO Rpop;;etjkasiluIHUGUGI UG"};$_=~s/\s//gm;eval
他の人のコードと比べたらまだまだ。もうちょっとコードをスリムして、Quine以外のこともできるようにしたいね。
あ、ちなみにGCJ Round2は1103位でした。Tシャツ欲しかったな・・・。
参考
perl - Quine.pm で(ほぼ)あらゆるPerl Scriptをquineに http://blog.livedoor.jp/dankogai/archives/51519405.html
Google Code Jam Japan 2011 T-shirt http://code.google.com/codejam/japan/tshirt.html