Thứ Ba, 9 tháng 8, 2022

IVECTOR Dãy nghịch thế

Cho n là một số  nguyên dương và dãy x  = (x1, x2, …, xn) là một hoán vị  của dãy số  (1, 2, …, n). Dãy x  = (x1, x2, …, xn) là một hoán vị của dãy số  (1, 2, …, n)  nếu trong dãy x  chứa đủ các số từ 1 tới  n. Với  mọi i: 1 ≤ i ≤ n, gọi ti là số phần tử đứng trước giá trị i mà lớn hơn i trong dãy x. Khi đó dãy t = (t1, t2, …, tn) được gọi là dãy nghịch thế của dãy x = (x1, x2, …, xn).

Ví dụ: Với n = 6

  • Dãy x = (3, 2, 1, 6, 4, 5) thì dãy nghịch thế của nó là t = (2, 1, 0, 1, 1, 0)
  • Dãy x = (1, 2, 3, 4, 5, 6) thì dãy nghịch thế của nó là t = (0, 0 , 0, 0, 0, 0)
  • Dãy x = (6, 5, 4, 3, 2, 1) thì dãy nghịch thế của nó là t = (5, 4, 3, 2, 1, 0)

Vấn đề đặt ra là :

1.  Cho trước một dãy hoán vị x, hãy tìm dãy nghịch thế của  x

2.  Cho trước một dãy nghịch thế t, hãy tìm dãy hoán vị nhận t làm dãy nghịch thế.

Input gồm 3 dòng:

  • Dòng 1: Chứa số nguyên dương n ≤ 103.
  • Dòng 2: Chứa dãy hoán vị x gồm n số x1, x2, …, xn
  • Dòng 3: Chứa dãy nghịch thế t : gồm n số t1, t2, …, tn

Output gồm 2 dòng:

  • Dòng 1: Ghi lần lượt từng phần tử của dãy nghịch thế của x
  • Dòng 2: Ghi lần lượt từng phần tử của dãy hoán vị của t

Input

Output

6

1 2 3 4 5 6

2 1 0 1 1 0

0 0 0 0 0 0

3 2 1 6 4 5

Không có nhận xét nào:

Đăng nhận xét

Lưu ý: Chỉ thành viên của blog này mới được đăng nhận xét.