: , , : , , . . , n 1, 2,..., n-1, a n, n m (m n) , , m 1, 2,..., n1, n. , .
̻, . ̻ , : 1, 2, 3, 4. 4: (1); (2); (3); (4); : (1, 2); (2, 1); (1, 3); (3, 1); (1, 4); (4, 1); (2, 3); (3, 2); (2, 4); (4, 2); (3, 4); (4, 3). , , ( !) . n m :
, : = n ' (n-1) ' (n-2) '... ' (n-(m-2)) ' (n-(m-1)). , , . , : =4, = 12, = 24, = 24. + + + = 64. , .
. ᒺ .
ϳ 1: n , n ( : n ). . : 1, 2, 3, 4, :
n ;
n , ( ) ;
n , , , ;
n , ;
|
|
n , ( , ) . , ;
n , .
, . . , , .
, n n . n :
program perestanovki_leksikografika;
uses dos,crt;
var st, st1: string; { }
i, k,n,t,j,m: integer; { }
n: integer; { }
mas: array[1..10] of integer; { }
begin
write( : );
readln(st);
{.......... .......... }
n:= length(st); { }
for i:=1 to n do mas[i]:=i; { }
k:=1; { , 1 }
while k<>0 do { 1 䳺 }
begin { , }
st1:=''; { }
for j:=1 to n do st1:=st1+st[mas[j]]; { }
write(st1:8); { }
j:=n; { : }
k:=0; { , }
while (k=0) and (j>1) do { }
begin { }
if mas[j-1]<mas[j] then k:=j-1; { , }
j:=j-1; { , }
end; { , k = 0 }
j:=n; { }
t:=0; { , }
while (t=0) and (j>k) do {
, }
begin
if mas[j]>mas[k] then t:=j; { , }
dec(j); { }
end; { . }
if t>0 then begin { }
j:=mas[k];
mas[k]:=mas[t];
mas[t]:=j;
end;
m:=1; { }
while m < (n-k+1) / 2 do
begin
i:= mas[k+m];
mas[k+m]:= mas[n+1-m];
mas[n+1-m]:= i;
m:= m+1;
end;
readln; { }
end; { }
readln; { }
end.
n , : . , ? , . , . , , 1234 1432.
|
|
, , . , .
, : 14 ( 4 ). ' , , .
196. 196. . , . , , .
197. 197. ϳ .
198. 198. , .
199. 199. , .
200. 200. (, , ).
201. 201. ϳ .
202. 202. .
203. 203. .
204. 204. .
205. 205. .
206. 206. ϳ, .
207. 207. , , .
208. 208. , .
209. 209. , .
210. 210. , .
211. 211. ϳ, .
212. 212. ϳ, .
213. 213. 볻 . ..
214. 214. . . .
215. 215. ³ . . 1 , .
216. 216. , . , .
217. 217. . , .
218. 218. , , , . ?
, , . . , , , , ˳ , , .
, , , , .. , . . , , . , 4 4 4, ( ). 4 4 :
|
|
array res[1..4,1..4] of byte;
:
, .
, .