[Buổi 10][Củng cố mảng một chiều][HW] Bài 6: Hoán vị mơ hồ


LÀM BÀI

Points: 15
Time limit: 2.0s
Memory limit: 64M

Author:
Problem types
Allowed languages
C++

Hoán vị mơ hồ

Bối cảnh

FullHouse Dev đang nghiên cứu về các hoán vị và phát hiện ra một loại hoán vị đặc biệt gọi là "hoán vị mơ hồ". Bạn hãy giúp FullHouse Dev viết một chương trình để phát hiện xem một hoán vị có phải là hoán vị mơ hồ hay không.

Yêu cầu

Một hoán vị của các số nguyên từ 1 đến n là một cách sắp xếp các số này. Ví dụ, với n = 5, một hoán vị có thể là 2, 3, 4, 5, 1.

Tuy nhiên, có một cách khác để biểu diễn hoán vị: tạo một danh sách số, trong đó số thứ i là vị trí của số nguyên i trong hoán vị. Ta gọi đây là hoán vị nghịch đảo. Hoán vị nghịch đảo của dãy trên là 5, 1, 2, 3, 4.

Một hoán vị mơ hồ là một hoán vị không thể phân biệt được với hoán vị nghịch đảo của nó. Ví dụ, hoán vị 1, 4, 3, 2 là mơ hồ vì hoán vị nghịch đảo của nó cũng chính là 1, 4, 3, 2.

Input

  • Mỗi bộ test bắt đầu bằng một số nguyên n (1 ≤ n ≤ 100000).
  • Dòng tiếp theo chứa một hoán vị của các số từ 1 đến n, các số cách nhau bởi một dấu cách.
  • Bộ test cuối cùng được theo sau bởi số 0.

Output

  • Với mỗi bộ test, in ra "ambiguous" nếu hoán vị là mơ hồ, ngược lại in ra "not ambiguous".

Ràng buộc

  • 1 ≤ n ≤ 100000
Ví dụ 1

Input

4
1 4 3 2
5
2 3 4 5 1
1
1
0

Output

ambiguous
not ambiguous
ambiguous

Giải thích ví dụ

  • Trong ví dụ đầu tiên, hoán vị 1, 4, 3, 2 là mơ hồ vì hoán vị nghịch đảo của nó cũng chính là 1, 4, 3, 2.
  • Trong ví dụ thứ hai, hoán vị 2, 3, 4, 5, 1 không phải là mơ hồ vì hoán vị nghịch đảo của nó là 5, 1, 2, 3, 4.
  • Trong ví dụ cuối cùng, hoán vị chỉ có một phần tử 1, và nó là mơ hồ.

Thông tin học tập

  • Buổi: B10
  • Concepts: permutation arrays, inverse permutations
  • Giới hạn kiến thức: B01-B10
  • Time limit: 2 seconds
  • Memory limit: 64 MB
  • Point: 15

Comments

There are no comments at the moment.

Zalo