[DHBB25 - DX05 - 11] Bài 3: INFORNO

Xem dạng PDF

Gửi bài giải

Điểm: 60,00 (OI)
Giới hạn thời gian: 1.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, Output Only, Pascal, PyPy, Python, Scratch, TEXT

Trong trường hợp đề bài hiển thị không chính xác, bạn có thể tải đề bài tại đây: Đề bài

Cho dãy ~n~ số nguyên dương ~a = \{a_1, a_2, ..., a_n\}~ (~1 \le a_i \le 10^9~). Ta định nghĩa dãy tích chênh lệch của dãy trên là một dãy ~b_1, b_2, ..., b_n~ trong đó: $$b_i = \prod_{j \ne i}^n (a_i - a_j)$$

Nếu không có chỉ số ~j~ nào thỏa mãn ~j \ne i~ thì ~b_i = 1~.

Từ dãy ~b_1, b_2, ..., b_n~, ta có một xâu ~st~ tương ứng có ~n~ ký tự chỉ gồm 3 ký tự +, -, 0 phụ thuộc vào dấu của dãy ~b_1, b_2, ..., b_n~. Cụ thể:

  • ~st[i] = '+'~ nếu ~b_i > 0~;
  • ~st[i] = '-'~ nếu ~b_i < 0~;
  • ~st[i] = '0'~ nếu ~b_i = 0~.

Ví dụ: Cho dãy ~a = \{1; 2; 3; 1\}~

  • ~b_1 = (a_1 - a_2) \times (a_1 - a_3) \times (a_1 - a_4) = (1 - 2) \times (1 - 3) \times (1 - 1) = 0~;
  • ~b_2 = (a_2 - a_1) \times (a_2 - a_3) \times (a_2 - a_4) = (2 - 1) \times (2 - 3) \times (2 - 1) = -1~;
  • ~b_3 = (a_3 - a_1) \times (a_3 - a_2) \times (a_3 - a_4) = (3 - 1) \times (3 - 2) \times (3 - 1) = 4~;
  • ~b_4 = (a_4 - a_1) \times (a_4 - a_2) \times (a_4 - a_3) = (1 - 1) \times (1 - 2) \times (1 - 3) = 0~. Xâu ~st~ nhận được là 0 - + 0.

Yêu cầu: Cho xâu ký tự ~st~ gồm ~n~ ký tự +, - hoặc 0. Hãy tìm dãy ~n~ số nguyên dương ~a_1, a_2, ..., a_n~ có thể sinh ra xâu ~st~ theo mô tả trên. Nếu có nhiều dãy thỏa mãn, in ra dãy có thứ tự từ điển nhỏ nhất.

Input

  • Dòng 1: số nguyên ~n~ (~1 \le n \le 50~).
  • Dòng 2: xâu ký tự ~st~ độ dài ~n~ chỉ gồm 3 ký tự +, -, 0.

Output

  • Một dòng chứa dãy ~n~ số nguyên dương thỏa mãn yêu cầu đề bài, các số cách nhau bởi một dấu cách. Nếu không tồn tại dãy nào như vậy, in ra -1.

Sample Input 1

4
0 - + 0

Sample Output 1

1 2 3 1

Subtasks

Subtask Điểm Ràng buộc
1 ~20~ ~n \le 8~.
2 ~15~ Xâu ~st~ chỉ có ký tự + hoặc 0.
3 ~20~ Xâu ~st~ chỉ có ký tự - hoặc 0.
4 ~15~ ~n \le 30~.
5 ~30~ ~n \le 50~.

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.