←  Комбинаторика

олимпиадники-информатики

»

Перестановка с повторением

Санек фотография Санек 22 дек 2011

Перестановки из n элементов с повторениями – это перестановки из n элементов, в каждую из которых входят n1 элементов 1-го типа, n2 элементов 2-го типа…, nm элементов m-го типа, где n1+n2+n +…+nm=n.

Pn(n1, n2, … nm) = n!/n1*n2*…*nm

Если m=3, b=’xyz’, kp=[2, 3, 2], ( в массиве kp записано сколько раз повторятся i-той букве как написано в примере) то перестановки с повторениями будут такими:

01122233 => xxyyyzz
01122323 => xxyyzyz
01122332 => xxyyzzy
01123223 => xxyzyyz
01123232 => xxyzyzy

03322211 => zzyyyxx

Словесный алгоритм тот же, что и в обычных перестановках.
var b:string; p,kp:array [0..255] of integer; n,i,j,d,k,l,s:longint;
  begin
   readln(B)/>;
	n:=length(B)/>;
	for i:=1 to n do read(kp[i]);
  
	p[0]:=0;
	for i:=1 to n do
	for j:=1 to kp[i] do
   	begin
    	l:=l+1;
    	p[l]:=i;
   	end;
  
   n:=l;
	while p[0]=0 do
	Begin
   	for i:=1 to n do write(b[p[i]]);
		writeln;
		s:=s+1;
      
   	j:=n;
    	while p[j-1]>=p[j] do j:=j-1;
      
   	k:=n;
    	while p[j-1]>=p[k] do k:=k-1;
      
   	d:=p[k];
   	p[k]:=p[j-1];
   	p[j-1]:=d;
      
   	for i:=j to (n+j-1)div 2 do
    	begin
    	d:=p[i];
    	p[i]:=p[n-i+j];
    	p[n-i+j]:=d;
    	end;
	end;
	writeln(s);
end.
Ответить

nogobsent фотография nogobsent 25 июн 2020

Stendra Secure Ordering Overseas Cheapeast buy cialis and viagra online Trecator daily cialis online Viagra Calgary Fast Shipping
Ответить

MelissaKer фотография MelissaKer 04 июл 2020

тыц-тыц))

---
Полностью разделяю Ваше мнение. В этом что-то есть и мне кажется это очень хорошая идея. Полностью с Вами соглашусь. кипдок, продажа бланков или там обложка диплома
Ответить

SaniraEXIFS фотография SaniraEXIFS 17 окт 2020

Хочешь познакомиться с красивой девушкой?
Переходи здесь.
Ответить

SaniraEXIFS фотография SaniraEXIFS 17 окт 2020

Хочешь познакомиться с симпатичной девушкой?
Жми здесь.
Ответить

SaniraEXIFS фотография SaniraEXIFS 17 окт 2020

Хочешь познакомиться с свободной девицей?
Переходи сюда.
Ответить

SaniraEXIFS фотография SaniraEXIFS 17 окт 2020

Хотел бы познакомиться с свободной девушкой?
Переходи сюда.
Ответить

SaniraEXIFS фотография SaniraEXIFS 17 окт 2020

Желаешь познакомиться с симпатичной девушкой?
Жми сюда.
Ответить

SaniraEXIFS фотография SaniraEXIFS 17 окт 2020

Хочешь познакомиться с обаятельной девушкой?
Кликай здесь.
Ответить

SaniraEXIFS фотография SaniraEXIFS 17 окт 2020

Хочешь познакомиться с обаятельной девицей?
Кликай тут.
Ответить

SaniraEXIFS фотография SaniraEXIFS 17 окт 2020

Желаешь познакомиться с свободной девкой?
Жми тут.
Ответить

SaniraEXIFS фотография SaniraEXIFS 17 окт 2020

Хотел бы познакомиться с симпатичной девкой?
Кликай тут.
Ответить

SaniraEXIFS фотография SaniraEXIFS 17 окт 2020

Хочешь познакомиться с свободной девушкой?
Кликай сюда.
Ответить

SaniraEXIFS фотография SaniraEXIFS 17 окт 2020

Желаешь познакомиться с обаятельной девицей?
Переходи сюда.
Ответить

SaniraEXIFS фотография SaniraEXIFS 17 окт 2020

Хочешь познакомиться с красивой девкой?
Кликни тут.
Ответить

SaniraEXIFS фотография SaniraEXIFS 17 окт 2020

Желаешь познакомиться с красивой девушкой?
Переходи здесь.
Ответить

SaniraEXIFS фотография SaniraEXIFS 17 окт 2020

Хотел бы познакомиться с обаятельной девушкой?
Переходи сюда.
Ответить

SaniraEXIFS фотография SaniraEXIFS 17 окт 2020

Желаешь познакомиться с симпатичной девицей?
Кликай здесь.
Ответить

SaniraEXIFS фотография SaniraEXIFS 17 окт 2020

Хотел бы познакомиться с симпатичной девицей?
Кликай тут.
Ответить

SaniraEXIFS фотография SaniraEXIFS 17 окт 2020

Хотел бы познакомиться с красивой девушкой?
Кликай здесь.
Ответить