Обозначим за П значение утверждения "Петя ел", за В - значение утверждения "Вася ел", а за М значение утверждения "Маша ела".
Первое Петино высказывание: "Я не ел". Значение этого высказывания противоположно П. Действительно, если П равно 1, то Петя ел варенье, тогда первое Петино утверждение неверно; если же П равно 0, то Петя не ел варенье, значит, Петя сказал правду.
Таким образом, значение первого Петиного высказывания равно
Аналогичными рассуждениями можно показать, что значения второго Петиного высказывания и первого Васиного высказывания равны , второго Васиного высказывания равно П, второго Машиного высказывания равно В.
Осталось оценить первое утверждение Маши: "Вася врет". Оно означает, что Васино высказывание неверно, то есть что выражение (П) ложно. Получается, что значение первого Машиного утверждения равно значению выражения
Составим таблицу истинности для высказываний всех детей:
Объяснение:
Петя ел ел Вася ел Маша ела Петины утверж
Вас утверины
Машины утвержд.
П В М
П
В
0 0 0 1 1 1 0 1 0
0 0 1 1 0 0 0 1 0
0 1 0 1 1 1 0 1 1
0 1 1 1 0 0 0 1 1
1 0 0 0 1 1 1 0 0
1 0 1 0 0 0 1 1 0
1 1 0 0 1 1 1 0 1
1 1 1 0 0 0 1 1 1
Нас интересуют те варианты значений П, В и М, при которых два ребенка сказали правду, а третий - один раз соврал, а один раз сказал правду. Такие варианты соответствуют тем строкам таблицы, которые имеют пять единиц и один ноль в шести последних колонках.
Таких строк в таблице только одна (третья), соответствующая значениям П = 0, В = 1, М == 0.
За П мы обозначили значение утверждения "Петя ел". П = 0 означает, что это утверждение ложно, то есть Петя не ел варенье.
В = 1 означает, что утверждение "Вася ел" истинно, то есть Вася ел варенье.
М = О означает, что утверждение "Mania ела" ложно, то есть Маша не ела варенье.
Получается, что условие задачи (2 ребенка сказали правду, а третий один раз соврал) выполняется только для ситуации, в которой Петя и Маша не ели варенье, а Вася ел.
ответ. Варенье ел Вася, так как только при одном (третьем) варианте возможных значений ответ двоих - 1 и 1, а ответ одного - 0 и 1.
Поделитесь своими знаниями, ответьте на вопрос:
Сила заклинания вася нашел древний свиток с заклинанием. заклинание состоит из n чисел. сила заклинания вычисляется следующим образом: для каждой подстроки (в данном случае это последовательность подряд идущих чисел), считается сумма чисел в этой подстроки, а затем вычисляется сумма всех сумм подстрок. васе определить силу заклинания. формат входных данных в первой строке содержится число n (1 ≤ n ≤ 10000) - количество чисел в записи заклинания. во второй строке содержится n чисел, заклинание. каждое из чисел не превосходит 10000 по модулю. формат результата выведите одно число - силу заклинания. примеры входные данные 2 10 20 результат работы 60 входные данные 3 2 1 3 результат работы 19 примечания в первом тесте следующие подстроки: 10; 20; 10 20. сумма равна 60. во втором тесте следующие подстроки: 2; 1; 3; 2 1; 1 3; 2 1 3. сумма равна 19. система оценки: решения, верно работающие при 1 ≤ n ≤ 100 будут получать не менее 50% .
Пусть f(k - 1) — сумма сумм всех чисел из подстрок, кончающихся на числе с номером k - 1. Вычислим f(k).
f(k) = (a(0) + a(1) + a(2) + ... + a(k - 1) + a(k)) + (a(1) + a(2) + ... + a(k - 1) + a(k)) + (a(2) + ... + a(k - 1) + a(k)) + ... + (a(k - 1) + a(k)) + a(k) = f(k - 1) + (k + 1) * a(k)
Искомая сумма есть сумма всех f(k).
python 3.6:
n = int(input())
a = enumerate(map(int, input().split()))
s = f = 0
for k, ak in a:
f += (k + 1) * ak
s += f
print(s)