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!!!
1 câu trả lời
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.
Câu hỏi trong lớp
Xem thêm