VM 12 Bài 17 - Defense of the Awesome

View as PDF

Submit solution

Points: 1.74 (partial)
Time limit: 0.9s
Memory limit: 512M
Input: stdin
Output: stdout

Problem source:
Risan
Problem type
Allowed languages
C, C++, Java, Kotlin, Pascal, PyPy, Python, Scratch

Mỗi người đều cố gắng tìm trong cuộc đời một sợi dây níu kéo họ với nụ cười, ý nghĩa và hy vọng. Có người gọi đó là hạnh phúc, có người định nghĩa đó là sự bình yên, lại có người đinh ninh rằng đó là tình yêu. Với Pirate, đó chỉ là đảo, dừa và chuối.

Thế mà ngày kia, lại có tên Cá Mập hung ác đang tâm đến lấy đi tất cả những thứ đó. Tên Cá Mập dùng hàm răng trắng không tì vết của mình để dọa Pirate rằng trong vòng ba ngày nếu không giao giấy tờ đảo cho hắn thì hắn sẽ cắn Pirate như cắn Pizza.

Chuyện đến nước này, Pirate chỉ biết tìm đến gặp Cá Mập Hơn, vốn là kình địch của Cá Mập (vì hắn mập hơn), để xin giúp đỡ. Tên này cũng chả tử tế gì nên cố tình làm khó dễ Pirate. Hắn ra cho Pirate một câu đố hóc hiểm, nếu trả lời được thì mới vác mỡ đến giúp. Câu đố như sau:

Giả sử rằng Pirate có ~N~ quả dừa. Quả dừa thứ ~i~ nặng ~A_{i}~ kí ~(A_{i} > 0)~. Pirate không hề biết trọng lượng của các quả dừa này. Với mỗi quả dừa ~i~, Cá Mập Hơn sẽ tính tích ~(A_{i} - A_{j})~ ~(\forall \, 1 \leq j \leq N, j \neq i)~. Hắn sẽ chỉ cho Pirate biết tích trên là số âm, số dương hay số ~0~ thông qua dãy kí tự ~B~. Nhiệm vụ của Pirate là dựa vào dãy ~B~ để đoán ra trọng lượng của các quả dừa hoặc thông báo là dãy ~B~ không hợp lệ. Đặc biệt, dãy trọng lượng mà Pirate đoán ra phải có thứ tự từ điển nhỏ nhất.

Dãy ~X_{1}, X_{2}, \cdots, X_{N}~ được gọi là có thứ tự từ điển nhỏ hơn dãy ~Y_{1}, Y_{2}, \cdots, Y_{N}~ nếu tồn tại ~k~ ~(1 \leq k \leq N)~ sao cho ~X_{1} = Y_{1}, X_{2} = Y_{2}, \cdots, X_{k - 1} = Y_{k - 1}~ và ~X_{k} < Y_{k}~.

Input

Input gồm nhiều dòng:

  • Dòng thứ nhất ghi số ~T~, số bộ test ~(1 \leq T \leq 20)~.
  • ~T~ dòng tiếp theo: mỗi dòng là một dãy các kí tự liên tiếp nhau thể hiện một dãy ~B~ đã được mô tả trong đề bài ~(2 \leq N \leq 30)~. Kí tự thứ ~i~ là + nếu tích ~(A_{i} - A_{j})~ ~(\forall \, 1 \leq j \leq N, j \neq i)~ là số dương, - nếu tích là số âm, 0 nếu tích bằng ~0~.

Output

Output gồm ~T~ dòng, mỗi dòng ghi ra một dãy số ~A~ có cùng số phần tử với dãy ~B~ tương ứng trong Input. Nếu không tồn tại dãy ~A~ thì in ra TIDAK MUNGKIN (nghĩa là không tồn tại theo tiếng cá mập).

Giới hạn

Trong ~25\%~ số test có ~2 \leq N \leq 8~.

Sample Input

2
+00
--

Sample Output

1 2 2 
TIDAK MUNGKIN

Comments

Please read the guidelines before commenting.


There are no comments at the moment.