Ответ:

Брюнет говорит Белову, значит, сам он не Белов. Если бы брюнетом был Чернов, цвет его волос соответствовал бы фамилии, что противоречит сказанному. Поэтому брюнет — Рыжов.

По условию цвет волос ни у кого не соответствует фамилии. Значит, Рыжов не рыжий, а Чернов не брюнет. Остаются два цвета: Чернов — блондин, Белов — рыжий.

Ответ: Белов — рыжий, Чернов — блондин, Рыжов — брюнет.