
В финале турнира Российской армии по шахматам встретились представители шести воинских званий: майор, капитан, лейтенант, старшина, сержант и ефрейтор, причем разных специальностей: летчик, танкист, артиллерист, минометчик, сапер и связист. Определите специальность и звание каждого из шахматистов по следующим данным:
1) в первом туре лейтенант выиграл у летчика, майор — у танкиста, а сержант — у минометчика;
2) во втором туре капитан выиграл у танкиста;
3) в третьем и четвертом турах минометчик из−за болезни не участвовал в турнире, поэтому свободными от игры оказались капитан и ефрейтор;
4) в четвертом туре майор выиграл у связиста;
5) победителями турнира оказались лейтенант и майор, а хуже всех выступил сапер.

Построим таблицу типа ООО, в которой будем отмечать соответствия званий и специальностей:
| Майор | Капитан | Лейтенант | Старшина | Сержант | Ефрейтор | |
|---|---|---|---|---|---|---|
| Летчик | ||||||
| Танкист | ||||||
| Артиллерист | ||||||
| Минометчик | ||||||
| Сапер | ||||||
| Связист | 
Исходя из условия 1, можем сделать вывод, что лейтенант, майор и сержант не являются летчиком, танкистом или минометчиком.
Из условия 2 понимаем, что капитан не танкист.
Из условия 3: капитан и ефрейтор — не минометчики.
Условие 4: майор — не связист.
Условие 5: лейтенант и майор — не саперы.
Составим промежуточную таблицу:
| Майор | Капитан | Лейтенант | Старшина | Сержант | Ефрейтор | |
|---|---|---|---|---|---|---|
| Летчик | 0 | 0 | 0 | |||
| Танкист | 0 | 0 | 0 | 0 | ||
| Артиллерист | ||||||
| Минометчик | 0 | 0 | 0 | 0 | 0 | |
| Сапер | 0 | 0 | ||||
| Связист | 0 | 
Исходя из таблицы мы видим, что майор может быть только артиллеристом, а минометчиком — старшина.
| Майор | Капитан | Лейтенант | Старшина | Сержант | Ефрейтор | |
|---|---|---|---|---|---|---|
| Летчик | 0 | 0 | 0 | 0 | ||
| Танкист | 0 | 0 | 0 | 0 | 0 | |
| Артиллерист | 1 | 0 | 0 | 0 | 0 | 0 | 
| Минометчик | 0 | 0 | 0 | 1 | 0 | 0 | 
| Сапер | 0 | 0 | 0 | |||
| Связист | 0 | 0 | 
Далее понимаем, что лейтенант может быть только связистом, сержант — сапер, капитан — летчик, а ефрейтор — танкист.
| Майор | Капитан | Лейтенант | Старшина | Сержант | Ефрейтор | |
|---|---|---|---|---|---|---|
| Летчик | 0 | 1 | 0 | 0 | 0 | 0 | 
| Танкист | 0 | 0 | 0 | 0 | 0 | 1 | 
| Артиллерист | 1 | 0 | 0 | 0 | 0 | 0 | 
| Минометчик | 0 | 0 | 0 | 1 | 0 | 0 | 
| Сапер | 0 | 0 | 0 | 0 | 1 | 0 | 
| Связист | 0 | 0 | 1 | 0 | 0 | 0 | 
Все ячейки заполнены. В кажом столбце и в каждой строке мы видимо только по одному соответствию, значит задание решено верно.
Ответ: майор — артиллерист, капитан — летчик, лейтенант — связист, старшина — минометчик, сержант — сапер, ефрейтор — танкист.
Пожаулйста, оцените решение