
Ce
5 год назад
Имя для питонаПитоны очень внимательно относятся к выбору своих имён. Сначала для каждого детёныша его мать придумывает последовательность маленьких латинских букв по известному только питонам правилу. Однако в результате часто получается труднопроизносимое слово. Поэтому в полученной последовательности труднопроизносимые буквы нужно заменить на любимую питонами букву A. Но это не всегда возможно, так как древний питонский закон гласит, что нельзя менять буквы, стоящие на позициях Ci (по древней традиции, позиции нумеруются, начиная с нуля).Входные данныеВ первой строке записано слово S (1 ≤ len(S) ≤ 100), придуманное матерью питона и состоящее из маленьких латинских букв. Во второй строке через пробел перечислены буквы Bi(1 ≤ i ≤ 25), труднопроизносимые для питонов. В третьей строке через пробел перечислены позиции Ci (0 ≤ Ci < len(S), 0 ≤ i ≤ len(S) ≤ 100), изменения в которых запрещены древним законом. В последней строке находится любимая питонами буква A (A ≠ Bi) при любом i).Выходные данныеВыведите одну строку – результирующее имя питона.Входные данныеSample 1jamesm r t esSample 2niishkak i1 2hВыходные данныеSample 1jasssSample 2niishha
ОТВЕТЫ

Рангел
Oct 24, 2020
# Python 3.6.1
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.
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.
63
Смежные вопросы: