回答

AとBの発言は相反しています[同時に真にはなれない. このような突破口を探すことが大事です].
そこでAが正直ならば, Bは嘘つきでCは正直「Bは嘘つき」になります.
残りは嘘つきなはずで, 否定するとD: Cは正直 E: Dは正直となりますが, Eの発言はDが嘘つきであることと矛盾します.
次に, Bが正直ならば, Aは嘘つきでこれは問題ないでしょう.
CのBは嘘つきは仮定から嘘なので, Cは嘘つきです. DのCは嘘つきですは真になので, Dは正直.
EのDは嘘つきは嘘なのですべてうまくいきます.
以上からBとDが正直者で, A, C, Eが嘘つきであることが分かります.
***
読みにくければ, 真, 正直を〇, 嘘を×にして記号化するといいでしょう.

この回答にコメントする
疑問は解決しましたか?