Bedao Grand Contest 11 - HIDDENPER

Xem dạng PDF

Gửi bài giải


Điểm: 0,80 (OI)
Giới hạn thời gian: 2.0s
Giới hạn bộ nhớ: 256M
Input: stdin
Output: stdout

Tác giả:
Dạng bài
Ngôn ngữ cho phép
C, C++, Go, Java, Kotlin, Pascal, PyPy, Python, Rust, Scratch

Đây là một bài interactive.

Hệ thống có một dãy ~a~ là hoán vị của số tự nhiên từ ~1~ đến ~n~, các phần tử được đánh số từ ~0~. Nhiệm vụ của bạn là tìm được hoán vị này.

Bạn có thể hỏi các truy vấn dưới dạng một dãy ~b~ cũng là hoán vị của số tự nhiên từ ~1~ đến ~n~. Hệ thống sẽ cho biết tổng: ~\displaystyle \sum^{n-1}_{i=0}|a_i-b_i|~.

Bạn cần tìm được hoán vị bằng cách hỏi không quá ~U~ (~U~ là một số cho trước) truy vấn.

Input

  • Dòng đầu tiên chứa một số nguyên ~t~ (~t\le 10~) – số test case.

  • Dòng đầu tiên của mỗi test case chứa ~n~ (~n\le 500~) và ~U~ – độ dài của hoán vị và số lượt hỏi tối đa.

  • Sau khi đọc dòng này bạn sẽ bắt đầu quá trình tương tác.

Interaction

Để hỏi một truy vấn dưới dạng hoán vị ~b~, chương trình của bạn cần in "ask ~b_0\ b_1\ \ldots\ b_{n-1}~".

Sau đó chương trình của bạn cần đọc kết quả ~\displaystyle \sum^{n-1}_{i=0}|a_i-b_i|~ được cung cấp bởi hệ thống.

Để đưa ra đáp án, chương trình của bạn cần in "answer ~p_0\ p_1\ \ldots\ p_{n-1}~" với ~p~ là dãy mà bạn tìm được. Việc đưa ra đáp án không tính vào số câu hỏi. Sau đó chương trình của bạn cần tiếp tục giải các test case còn lại, hoặc dừng lại nếu đã giải hết các test case.

Sau khi in ra một truy vấn, bạn cần xuống dòng và flush output. Để làm điều này, hãy:

  • fflush(stdout) hoặc cout.flush() trong C++;
  • System.out.flush() trong Java;
  • flush(output) trong Pascal;
  • stdout.flush() trong Python;

Subtask

  • ~30\%~ số test khác có ~U=1000~.

  • ~70\%~ số test còn lại có ~U=750~.

Sample Input

1
2 1000

0

Sample Output



ask 1 2

answer 1 2

Bình luận

Hãy đọc nội quy trước khi bình luận.


Không có bình luận tại thời điểm này.