Ответ:

1. В Калининграде преподают химию. Дмитрий там не работает и не преподаёт литературу, значит, он преподаёт физику.

2. Дмитрий не может работать в Москве: москвич преподаёт не физику. Значит, Дмитрий работает в Перми.

3. Иван не работает в Москве, а Пермь уже занята Дмитрием. Поэтому Иван работает в Калининграде и преподаёт химию.

4. В Москве остаётся Степан. Он преподаёт не физику, а химия уже назначена Ивану, поэтому Степан преподаёт литературу.

Ответ: Иван преподаёт химию в Калининграде; Дмитрий — физику в Перми; Степан — литературу в Москве.