Ответ:

  1. Сергей не может быть Петровым, потому что он живёт в одном доме с Петровым. Также Сергей не Сергеев. Значит, Сергей — Иванов.
  2. Иван не может быть Ивановым, поэтому ему остаётся фамилия Петров или Сергеев.
  3. Петр не может быть Петровым. Следовательно, Петр — Сергеев.
  4. Тогда Ивану достаётся фамилия Петров.

Ответ: Иван — Петров, Петр — Сергеев, Сергей — Иванов.