Есть ответ 👍

Вшколе, перешедшей на самообслуживание, четырем старшеклассникам: андрееву, костину, савельеву и давыдову поручили убрать 7-ой, 8-ой, 9-ый и 10-ый классы. при проверке оказалось, что 10-ый класс убран плохо. не ушедшие
домой ученики сообщили о следующим: 1) андреев: "я убирал 9-ый класс, а савельев - 7-ой"; 2) костин: "я убирал 9-ый класс, а андреев - 8-ой"; 3) савельев: "я убирал 8-ой класс, а костин - 10-ый"; давыдов уже ушел домой. в
дальнейшем выяснилось, что каждый ученик в одном из двух высказываний говорил правду, а во втором ложь. какой класс убирал каждый ученик? нужно развернуток решение

190
321
Посмотреть ответы 2

Ответы на вопрос:


введем обозначения:

 

s-i - высказывание: ученик s (где s - первая буква фамилии) убирал i-й класс.

 

p: (q-i, r-i),  - ученик p высказал q-i и r-i

 

s-i = f - высказывание s-i - ложно, а s-i = t высказывание s-i - истинно.

 

тогда, по условию :

 

1) a: (a-9, c-7)

2) k: (к-9, а-8)

3) с: (с-8, к-10),

где в каждой паре (q-i, r-i) только одно из высказываний является верным (*).

 

предположим в начале, что а-9 = t. тогда из 2) и (*) следует, что (k-9 = f, а-8 = f) - противоречие, т.к. одно из высказываний в паре должно быть верным. следовательно, предположение а-9 = t - не верно, и а-9 = f.

 

пусть a-9 = f. тогда из 1) и *) следует, что c-7 = t. из 3) и *) следует, что c-8 = f. откуда получим из 3), что к-10 = t. значит, согласно 2) (к-9 = f, а-8 = t)

 

итак, c-7 = t, к-10 = t и а-8 = t следовательно, савельев убирал 7-й класс, костин - 10-й, андреев - 8-й класс. давыдов, следовательно, убирал оставшийся, 9-й класс (т.е. д-9 = т).


#include <bits/stdc++.h>

using namespace std;

int search1(string str) {

 for (int i = 0; i < str.size(); i++) {

   if (str[i] == 'f') return i;

 }

 return -1;

}

int search2(string str) {

 for (int i = str.size() - 1; i >= 0; i--) {

   if (str[i] == 'f') return i;

 }

 return -1;

}

int main() {

 string str = {};

 getline(cin, str);

 int a = search1(str);

 int b = search2(str);

 if (a != -1) {

   if (a == b)

     cout << a;

   else

     cout << a << " " << b;

 }

 return 0;

}

Реши свою проблему, спроси otvet5GPT

  • Быстро
    Мгновенный ответ на твой вопрос
  • Точно
    Бот обладает знаниями во всех сферах
  • Бесплатно
    Задай вопрос и получи ответ бесплатно

Популярно: Информатика

Caktus Image

Есть вопросы?

  • Как otvet5GPT работает?

    otvet5GPT использует большую языковую модель вместе с базой данных GPT для обеспечения высококачественных образовательных результатов. otvet5GPT действует как доступный академический ресурс вне класса.
  • Сколько это стоит?

    Проект находиться на стадии тестирования и все услуги бесплатны.
  • Могу ли я использовать otvet5GPT в школе?

    Конечно! Нейросеть может помочь вам делать конспекты лекций, придумывать идеи в классе и многое другое!
  • В чем отличия от ChatGPT?

    otvet5GPT черпает академические источники из собственной базы данных и предназначен специально для студентов. otvet5GPT также адаптируется к вашему стилю письма, предоставляя ряд образовательных инструментов, предназначенных для улучшения обучения.

Подпишись на наш телеграмм канал

GTP TOP NEWS