帽子の色を、0、1、2 と決める。
以下、mod 3 で考える(3で割った余りで考える)

一番後ろの奴は、前99人の合計の色を答える。
それ以外の奴は、

A=一番後ろの奴が言った数
B=一番後ろ以外の奴が言った数の合計
C=見えている帽子の数の合計

として、A-(B+C)を言う。

これで99人助かる・・・はず。