Воспользуемся законом де Моргана: НЕ(А ИЛИ B) = НЕ(A) И НЕ(B) = (НЕ(сумма цифр нечетная) И НЕ(число четное)). Из этого следует, что обе скобки отрицаются, то есть значения внутри них становятся противоположными: (Сумма цифр четная) И (число нечетное). И - означает, что условие внутри обоих скобок должно быть истинно, то есть должно выполняться.
S = input() B = input() C = [int(i) for i in input().split()] A = input()
for m in [i for i in set([j for j in range(len(S))]).difference(C)]: if S[m] in B.split():S = S[:m] + A[0] + S[m+1:] print(S)
// Pascal
Var S:string[100]; B:string[50]; C:array[0..100] of byte; A:char; j,m:byte; L:boolean; Begin ReadLn(S); ReadLn(B); j:=0; Read(A); While A <> #13 do Begin Read(C[j]); C[j]:=C[j]+1; j:=j+1; Read(A); End; ReadLn(); Read(A); For m:= 1 to Length(S) do Begin L:=true; For j:= 0 to j do if C[j] = m then L:=false; if L then if pos(S[m],B) <> 0 then S[m]:=A; End; WriteLn(S); End.
Из этого следует, что обе скобки отрицаются, то есть значения внутри них становятся противоположными:
(Сумма цифр четная) И (число нечетное).
И - означает, что условие внутри обоих скобок должно быть истинно, то есть должно выполняться.
1. 2+2 = 4 - сумма цифр четная, число четное - исключаем.
2. 3+4 = 7 - сумма цифр нечетная, число четное - исключаем.
3. 4+1 = 5 - сумма цифр нечетная, число нечетное - исключаем.
4. 7+5 = 12 - сумма цифр четная, число нечетное - подходит.
ответ: 4.