Lập trình đơn giản

Hakita Nguyen

Giả sử P={P1,P2,...,Pn} là một hoán vị của 1,2,...,n. Bảng nghịch thế của hoán vị P là dãy T={T1,T2,...,Tn} trong đó Ti bằng số lượng các phần tử trong hoán vị P, đứng trước i và lớn hơn i.

Yêu cầu: Viết chương trình tìm lại hoán vị P khi biết bảng nghịch thế T.

Dữ liệu: cho trong file NGHICHTH.INP gồm k dòng, mỗi dòng chứa một bảng nghịch thế.

Kết quả: ghi ra màn hình và ra file NGHICHTH.OUT gồm k dòng, mỗi dòng ghi hoán vị tìm được.

Ví dụ:

NGHICHTH.INP NGHICHTH.OUT

2 1 0 0 0

2 3 6 4 0 2 2 1 0

3 2 1 4 5

5 9 1 8 2 6 4 7 3

Nguyễn Lê Phước Thịnh
7 tháng 3 2020 lúc 23:44

var i,n,d:word;
t,b,kt:array[1..10] of word;

procedure nhap;
var f:text;
begin
assign(f,'dulieu.inp');
reset(f);
readln(f,n);
for i:=1 to n do read(f,t[i]);
close(f);
fillchar(b,sizeof(kt),0);
end;

procedure tailap;
var i,j,d:integer;
begin
for i:=1 to n do
begin
d:=0;
for j:=1 to n do
begin
if b[j]=0 then d:=d+1;
if d=t[i]+1 then break;
end;
b[j]:=i;
end;
end;

BEGIN
nhap;
tailap;
for i:=1 to n do write(b[i],' ');
readln
END.

Bình luận (0)
 Khách vãng lai đã xóa

Các câu hỏi tương tự
Information Technology S...
Xem chi tiết
Suri Nguyễn
Xem chi tiết
dinhnguyentuhuy
Xem chi tiết
dinhnguyentuhuy
Xem chi tiết
Hakita Nguyen
Xem chi tiết
Lục Hạ Vy
Xem chi tiết
Hakita Nguyen
Xem chi tiết
Thu Hiền
Xem chi tiết
Nguyễn Chơn Nhân
Xem chi tiết