Имя для питона Питоны очень внимательно относятся к выбору своих имён. Сначала для...

0 голосов
36 просмотров

Имя для питона

Питоны очень внимательно относятся к выбору своих имён. Сначала для каждого детёныша его мать придумывает последовательность маленьких латинских букв по известному только питонам правилу. Однако в результате часто получается труднопроизносимое слово. Поэтому в полученной последовательности труднопроизносимые буквы нужно заменить на любимую питонами букву 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 1
james
m r t e

s

Sample 2
niishka
k i
1 2
h
Выходные данные
Sample 1
jasss

Sample 2
niishha


Информатика (107 баллов) | 36 просмотров
Дан 1 ответ
0 голосов

# 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.

(6.6k баллов)