Решение:
Обозначим места как 1, 2, 3, 4. Каждый мальчик дал два утверждения, одно из которых правда, а другое ложь.
Рассмотрим высказывания Васи: "Я был вторым, Андрей – первым."
- Предположим, Вася сказал правду. Тогда Вася занял 2-е место, а Андрей – 1-е.
- Андрей сказал: "Я был вторым, Боря – третьим." Если Андрей занял 1-е место, то его утверждение ложно. Значит, хотя бы одна часть утверждения ложна.
- Если первая часть "Я был вторым" ложна (что соответствует действительности, так как Андрей 1-й), то вторая часть "Боря – третьим" может быть правдой или ложью.
- Если вторая часть "Боря – третьим" ложна, то Боря не 3-й.
- Гриша сказал: "Я был вторым, Боря – четвёртым."
- Если Вася 2-й, а Андрей 1-й, то Гриша не может быть вторым. Значит, первая часть утверждения Гриши "Я был вторым" ложна.
- Следовательно, вторая часть "Боря – четвёртым" должна быть правдой. Тогда Боря занял 4-е место.
- Если Боря 4-й, то Гриша занял оставшееся 3-е место.
- Проверим условия:
- Вася: "Я был вторым (ложь), Андрей – первым (правда)". Вася занял 2-е место. Это противоречит его высказыванию "Я был вторым".
- Предположим, Вася солгал. Тогда либо Вася не 2-й, либо Андрей не 1-й (или оба).
- Рассмотрим первое утверждение Васи: "Я был вторым". Если оно ложное, Вася не 2-й.
- Рассмотрим второе утверждение Васи: "Андрей – первым". Если оно ложное, Андрей не 1-й.
- Теперь рассмотрим утверждение Андрея: "Я был вторым, Боря – третьим."
- Если первая часть "Я был вторым" ложь, а вторая "Боря – третьим" – правда. Тогда Андрей не 2-й, а Боря – 3-й.
- Если первая часть "Я был вторым" правда, а вторая "Боря – третьим" – ложь. Тогда Андрей – 2-й, а Боря не 3-й.
- Рассмотрим утверждение Гриши: "Я был вторым, Боря – четвёртым."
- Если первая часть "Я был вторым" ложь, а вторая "Боря – четвёртым" – правда. Тогда Гриша не 2-й, а Боря – 4-й.
- Если первая часть "Я был вторым" правда, а вторая "Боря – четвёртым" – ложь. Тогда Гриша – 2-й, а Боря не 4-й.
Совместим варианты:
Вариант 1: Вася сказал правду (Вася = 2, Андрей = 1).
- Андрей: "Я был вторым" (ложь), "Боря – третьим" (?). Если Андрей = 1, то "Я был вторым" – ложь. Тогда "Боря – третьим" – правда. Боря = 3.
- Гриша: "Я был вторым" (?), "Боря – четвёртым" (?). Если Вася = 2, Андрей = 1, Боря = 3, то Гриша = 4.
- Утверждения Гриши: "Я был вторым" (ложь), "Боря – четвёртым" (ложь). Это противоречит условию, что один раз правда, один раз ложь.
Вариант 2: Вася солгал.
- Случай 2.1: Вася = 2, Андрей ≠ 1.
- Андрей: "Я был вторым" (ложь), "Боря – третьим" (?). Если Андрей ≠ 2, то "Я был вторым" – ложь. Это соответствует действительности. Значит "Боря – третьим" – правда. Боря = 3.
- Гриша: "Я был вторым" (?), "Боря – четвёртым" (?). Если Вася = 2, Боря = 3, то Гриша = 1 или 4.
- Если Гриша = 1: "Я был вторым" (ложь), "Боря – четвёртым" (ложь). Противоречие.
- Если Гриша = 4: "Я был вторым" (ложь), "Боря – четвёртым" (ложь). Противоречие.
- Случай 2.2: Вася ≠ 2, Андрей = 1.
- Андрей: "Я был вторым" (?), "Боря – третьим" (?). Если Андрей = 1, то "Я был вторым" – ложь. Тогда "Боря – третьим" – правда. Боря = 3.
- Гриша: "Я был вторым" (?), "Боря – четвёртым" (?). Если Вася ≠ 2, Андрей = 1, Боря = 3, то Гриша = 2 или 4.
- Если Гриша = 2: "Я был вторым" (правда), "Боря – четвёртым" (ложь). Это подходит.
- Если Гриша = 4: "Я был вторым" (ложь), "Боря – четвёртым" (ложь). Противоречие.
- Итак, если Вася солгал, Андрей = 1, Боря = 3, Гриша = 2, Вася = 4.
- Проверим утверждения:
- Андрей: "Я был вторым" (ложь), "Боря – третьим" (правда). Верно.
- Вася: "Я был вторым" (ложь), "Андрей – первым" (правда). Ложь + Правда = Ложь. Верно.
- Гриша: "Я был вторым" (правда), "Боря – четвёртым" (ложь). Верно.
Это единственный вариант, удовлетворяющий всем условиям.
Ответ: Андрей занял 1 место, Гриша – 2 место, Боря – 3 место, Вася – 4 место.