Ответ:
Дмитрий — житель Ульяновска, преподаёт физику.
Николай — москвич, преподаёт биологию.
Богдан — житель Иркутска, преподаёт химию.
Объяснение:
Построим три таблицы, с помощью которых будем анализировать задачу (см. файл). В обозначениях: Б — Богдан, Д — Дмитрий, Н — Николай; х — химия, б — биология, ф — физика; М — Москва, И — Иркутск, У — Ульяновск. В первой таблице назовём строки именами, а столбцы предметами, во второй — строки именами, а столбцы городами, а в третьей таблице — строки городами, а столбцы предметами. Анализируя условие задачи, заполним ячейки таблицы плюсами (правда) и минусами (неправда) (например, плюс в ячейке на пересечении строки «Б» и столбца «х» означал бы, что Богдан преподаёт химию):
1) Богдан работает не в Москве: минус во второй таблице в ячейке на пересечении строки «Б» и столбца «М». Дмитрий работает не в Иркутске: минус во второй таблице на пересечении строки «Д» и столбца «И».
2) Москвич преподаёт не физику: минус в третьей таблице на пересечении строки «М» и столбца «ф».
3) Тот, кто работает в Иркутске, преподаёт химию. Во-первых ставим плюс в третьей таблице на пересечении «И» и «х» и минусы на пересечении «х» с «М» и «У» (т.к. химию преподаёт только один). Во-вторых, Дмитрий не преподаёт химию (минус в первой таблице на пересечении «Д» и «х»), т.к. из пункта 1 мы знаем, что Дмитрий не из Иркутска, а в Иркутске живёт преподаватель химии.
4) Дмитрий преподаёт не биологию: минус в первой таблице на пересечении «Д» и «б». Теперь, посмотрев на первую таблицу, мы можем заметить, что на пересечении «Д» с «х» и «б» стоят минусы. В строке «Д» осталась только одна свободная ячейка, и в неё нужно поставить плюс, так как известно, что Дмитрий что-то преподаёт. Сдедовательно, Дмитрий преводаёт физику.
Из этого можем сделать вывод, что ни Богдан, ни Николай не преподают физику (т.к. каждый предмет преподаёт только один из них): в первой таблице на пересечении «ф» с «Б» и «Н» ставим минусы.
Теперь посмотрим на третью таблицу. На пересечении «М» с «х» и «ф» стоят минусы. Значит, Москвич не преподаёт ни физику, ни химию. Из этого делаем сразу два вывода:
— Дмитрий не москвич, так как он преподаёт физику, а москвич её не преподаёт. Отметим это во второй таблице. Там же уже отмечено, что Дмитрий не живёт в Иркутске. Следовательно, Дмитрий живёт в Ульяновске, а Богдан и Николай там не живут (отметим это во второй таблице).
— Москвич преподаёт биологию, так как он не преподаёт физику и химию. Значит, жители Иркутска и Ульяновка не могут её преподавать (отметим это в третьей таблице).
Теперь посмотрим на вторую таблицу. Мы уже знаем, что Богдан и Дмитрий не москвичи. Следовательно, единственный, кто может быть москвичом — Николай. Итак, Николай — москвич (А значит, он не житель Иркутска, отметим это в таблице). Кроме того, из третьей таблицы мы знаем, что москвич преподаёт биологию. Значит, Николай преподаёт биологию.
Теперь в каждой таблице осталось по одной свободной ячейке. Заполнив их (принимая во внимание то, что в каждой строке и каждом столбце может быть только один плюс), получим, что Богдан живёт в Иркутске и преподаёт химию.
Итак, подведём итоги:
Дмитрий — житель Ульяновска, преподаёт физику.
Николай — москвич, преподаёт биологию.
Богдан — житель Иркутска, преподаёт химию.