Một hoán vị P của dãy số 1,2,3,…,n là một cách sắp xếp các số ấy theo một trật tự nào đó.Ví dụ với n=9 thì P=(5, 9, 1, 8, 2, 6, 4, 7, 3) là một hoán vị.
Cho một hoán vị P=(a1, a2, a3,…, an) của dãy 1,2,…,n. Khi đó người ta xây dựng dãy nghịch thế T= (t1, t2, t3…,tn) như sau trong đó ti bằng số các phần tử của hoán vị P nằm bên trái i và lớn hơn i.
Ví dụ : P = (5, 9, 1, 8, 2, 6, 4, 7, 3) thì T = (2, 3, 6, 4, 0, 2, 2, 1, 0)
Giải thích:
– t1=2 vì trong hoán vị P, số 1 có 2 giá trị bên trái nó mà lớn hơn nó là 5 và 9;
– t2=3 vì trong hoán vị P, số 2 có 3 giá trị bên trái nó mà lớn hơn nó là 5,9,8;
– ….
Lập trình thực hiện yêu cầu sau:
Nhập vào từ bàn phím một số n và một hoán vị của 1,2,…,n. Tìm và in ra màn hình nghịch thế của hoán vị đó.
Giúp mik với !!! Mik đang cần gấp. Thank you!!!
Một hoán vị P của dãy số 1,2,3,…,n là một cách sắp xếp các số ấy theo một trật tự nào đó.Ví dụ với n=9 thì P=(5, 9, 1, 8, 2, 6, 4, 7, 3) là một hoán v
By Genesis
uses crt;
var i,n,dem,j,x:longint; a:array[0..1000000]of longint;
begin
clrscr;
write(‘N=’);readln(n);
for i:=1 to n do
begin
write(‘a[‘,i,’]=’);readln(a[i]);
end;
for i:=1 to n do
begin
j:=1; dem:=0;
while a[j]<>i do inc(j);
for x:=1 to j do if a[x]>a[j] then inc(dem);
writeln(dem);
end;
readln
end.