использовать Чертежник
алг
нач
поднять перо
сместиться в точку (1,0)
опустить перо
сместиться в точку (1,1)
сместиться в точку (2,1)
сместиться в точку (2,0)
сместиться в точку (1,0)
поднять перо
сместиться в точку (2,1)
опустить перо
сместиться в точку (2,2)
сместиться в точку (3,2)
сместиться в точку (3,0)
сместиться в точку (2,0)
поднять перо
сместиться в точку (3,2)
опустить перо
сместиться в точку (3,3)
сместиться в точку (4,3)
сместиться в точку (4,0)
сместиться в точку (3,0)
поднять перо
сместиться в точку (4,2)
опустить перо
сместиться в точку (5,2)
сместиться в точку (5,0)
сместиться в точку (4,0)
поднять перо
сместиться в точку (5,1)
опустить перо
сместиться в точку (6,1)
сместиться в точку (6,0)
сместиться в точку (5,0)
поднять перо
сместиться в точку (6,1)
опустить перо
сместиться в точку (7,1)
сместиться в точку (7,0)
сместиться в точку (6,0)
поднять перо
сместиться в точку (7,1)
опустить перо
сместиться в точку (7,2)
сместиться в точку (8,2)
сместиться в точку (8,0)
сместиться в точку (7,0)
поднять перо
сместиться в точку (8,2)
опустить перо
сместиться в точку (8,3)
сместиться в точку (9,3)
сместиться в точку (9,0)
сместиться в точку (8,0)
поднять перо
сместиться в точку (9,2)
опустить перо
сместиться в точку (10,2)
сместиться в точку (10,0)
сместиться в точку (9,0)
поднять перо
сместиться в точку (10,1)
опустить перо
сместиться в точку (11,1)
сместиться в точку (11,0)
сместиться в точку (10,0)
поднять перо
сместиться в точку (11,1)
опустить перо
сместиться в точку (12,1)
сместиться в точку (12,0)
сместиться в точку (11,0)
поднять перо
сместиться в точку (12,1)
опустить перо
сместиться в точку (12,2)
сместиться в точку (13,2)
сместиться в точку (13,0)
сместиться в точку (12,0)
поднять перо
сместиться в точку (13,2)
опустить перо
сместиться в точку (13,3)
сместиться в точку (14,3)
сместиться в точку (14,0)
сместиться в точку (13,0)
поднять перо
сместиться в точку (14,2)
опустить перо
сместиться в точку (15,2)
сместиться в точку (15,0)
сместиться в точку (14,0)
поднять перо
сместиться в точку (15,1)
опустить перо
сместиться в точку (16,1)
сместиться в точку (16,0)
сместиться в точку (15,0)
кон
Объяснение:
===== PascalABC.NET =====
begin
var СписокСлов := ReadlnString('Список слов через пробел:').ToWords;
var ИсходныйСловарь := new Dictionary<char, integer>;
var РабочийСловарь := new Dictionary<char, integer>;
foreach var Символ in ReadlnString('Слово:') do
ИсходныйСловарь[Символ] := ИсходныйСловарь.Get(Символ) + 1;
var СтрокаВывода: string;
foreach var Слово in СписокСлов do
begin
foreach var Символ in Слово do
РабочийСловарь[Символ] := РабочийСловарь.Get(Символ) + 1;
var МожноПостроитьСлово := True;
foreach var ЭлементРабочегоСловаря in РабочийСловарь do
begin
var Ключ := ЭлементРабочегоСловаря.Key;
var ПределПовторовБуквы: integer;
if ИсходныйСловарь.TryGetValue(Ключ, ПределПовторовБуквы) then
begin
if ЭлементРабочегоСловаря.Value > ПределПовторовБуквы then
begin
МожноПостроитьСлово := False;
break
end
end
else
begin
МожноПостроитьСлово := False;
break
end
end;
if МожноПостроитьСлово then
begin
if СтрокаВывода <> '' then
СтрокаВывода += ', ';
СтрокаВывода += Слово
end;
РабочийСловарь.Clear;
end;
Println(СтрокаВывода)
end.