>>100
15行目
マスク処理、0x1f = 00000000000000000000000000011111
これを n と &(and)することで下位5bitのみを抽出し t に代入

16,17行目
18なのはa[ ]に入っている判定パターンが18個あるってこと
んで、さきほどの t とa[i]を比較し、一致したときはfor文即終了
このときiは18より小さいはずなので r += 10点!

一応私も作ったので
http://ideone.com/05htNf