SQRT Contest #02 - I - Integer splitting

Xem dạng PDF

Gửi bài giải

Điểm: 29,00
Giới hạn thời gian: 10.0s
Giới hạn bộ nhớ: 1G
Input: stdin
Output: stdout

Dạng bài
Ngôn ngữ cho phép
C, C++, Java, Kotlin, Pascal, PyPy, Python, Scratch

Chú ý giới hạn thời gian (và bộ nhớ) bất thường cho bài này

Xét biểu thức sau:

$$\pm 1^k \pm 2^k \pm 3^k \pm ... \pm m^k = n$$

Một thầy giáo dạy toán đã chứng minh được rằng: Với mọi cặp số nguyên dương ~(n, k)~, luôn tồn tại một số nguyên dương ~m~ và một cách thay thế các dấu ~\pm~ thành dấu cộng hoặc trừ để biểu thức đúng. Ví dụ, với ~(n, k)~ = ~(7, 3)~, ta có ~-1^3 + 2^3 = 7~. Thầy giáo nhận thấy bài toán này cũng khá hay, do đó thầy muốn biến bài toán này thành một bài kiểm tra cho các học sinh của mình. Cụ thể, thầy sẽ đưa cho mỗi bạn học sinh một cặp số nguyên dương ~(n, k)~. Mỗi bạn sẽ phải tìm một giá trị ~m~ và một cách chọn dấu thỏa mãn với cặp số mà mình được giao.

Bạn hãy thử giải quyết các câu hỏi của thầy giáo nhé.

Dữ liệu

  • Dòng đầu tiên gồm một số nguyên dương ~T~ ~(1 \le T \le 100)~ là số câu hỏi của thầy giáo.
  • ~T~ dòng tiếp theo, mỗi dòng gồm hai số nguyên không âm ~n, k~ ~(0 \le n \le 10^{min (10, 2k)}, 1 \le k \le 7)~.

Kết quả

  • Với mỗi câu hỏi, in ra một xâu chỉ gồm các dấu + hoặc - mô tả cách điền dấu thỏa mãn.

Ví dụ

Dữ liệu
2
0 2
7 3
Kết quả
++-+--+
-+

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.