Ai đó đã cho chúng tôi một chuỗi, nhưng tất cả các ký tự giống như khung đã được thay đổi thành một chuỗi bình thường và chúng tôi không biết đó là gì, hoặc thậm chí có bao nhiêu. Tất cả những gì chúng ta biết là nếu L1,L2,L3,...,LN
là các loại dấu ngoặc trái R1,R2,R3,...,RN
khác nhau và là các loại dấu ngoặc phải tương ứng khác nhau, tất cả đều khác biệt (ký tự dấu ngoặc riêng biệt 2N), một chuỗi sẽ hợp lệ nếu đó là một trong (+ là nối chuỗi bình thường):
L1+X+R1
,,L2+X+R2
...,LN+X+RN
nơiX
là một chuỗi hợp lệ,X+Y
, ở đâuX
vàY
là các chuỗi hợp lệ,Bất kỳ ký tự đơn lẻ nào không phải là ký tự ngoặc.
Chuỗi rỗng
Chúng tôi biết họ đã bắt đầu với một chuỗi hợp lệ trước khi họ thay đổi dấu ngoặc và họ đã không thay đổi chúng thành bất kỳ ký tự nào đã tồn tại trong chuỗi. Ít nhất một cặp tồn tại cho mỗi khung là tốt. Bạn có thể xây dựng lại các ký tự ban đầu là cặp ngoặc trái và phải (tìm Li
và Ri
theo các điều kiện đã cho) không?
Xuất ra các cặp ký tự được ngoặc. Ví dụ: nếu (){}[]
thực sự là các ký tự dấu ngoặc, bạn có thể xuất (){}[]
hoặc {}[]()
hoặc [](){}
, v.v. Có thể có nhiều cách để thực hiện điều này cho một chuỗi, bạn chỉ cần trả về một ký tự sao cho không có phép gán khung với nhiều cặp hơn (xem ví dụ). Lưu ý rằng chuỗi đầu ra phải luôn có độ dài chẵn.
Ví dụ:
abcc
- c
không thể là dấu ngoặc, vì không có ký tự nào khác có hai lần xuất hiện, nhưng ab
có thể là một cặp ngoặc vuông, vì vậy bạn sẽ xuất chính xác ab
.
fffff
- bất kỳ chuỗi nào có nhiều nhất một ký tự không thể có dấu ngoặc, vì vậy bạn sẽ trả về chuỗi trống hoặc đầu ra không có gì.
aedbedebdcecdec
- chuỗi này không thể có bất kỳ dấu ngoặc nào vì có 1 a, 2 bs, 3 cs, 4 ds và 5 es, vì vậy không có hai ký tự xảy ra cùng một số lần, đó là một yêu cầu để có dấu ngoặc.
abcd
- bài tập có thể là ab
, cd
, abcd
, cdab
, adbc
, bcad
, ac
, ad
, bc
và bd
, (cũng như việc chuyển nhượng trống rỗng, mà tất cả đều có) nhưng bạn phải trả lại một trong những bài tập dài nhất, vì vậy bạn phải trả lại abcd
, cdab
, adbc
, hoặc bcad
.
aabbcc
, abc
- đây là cả hai đều có ab
, ac
và bc
như cặp hợp lệ. Bạn phải trả lại một trong các cặp này, không quan trọng.
abbac
- a và b có cùng số lượng ký tự, nhưng chúng thực sự không thể hoạt động được, vì một trong số chúng xảy ra ở cả bên trái và bên phải của tất cả các lần xuất hiện khác. Trả lại không có gì.
aabcdb
- cd
và ab
là hai cặp khung chính xác, do đó, đầu ra cdab
hoặc abcd
.
abcdacbd
- chỉ có một cặp có thể đạt được cùng một lúc, nhưng ab
, ac
, bd
, cd
, và ad
được tất cả các cặp có thể bạn có thể quay trở lại. Cho dù bạn chọn cặp nào, nó cũng có một trường hợp có một nhân vật khác ở trong đó, điều này cấm bất kỳ cặp nào khác, ngoại trừ trong trường hợp ad
, các cặp khác bc
và cb
không thể ở một mình, và vì vậy không thể có thể với ad
.
Đây là mã golf, vì vậy mã ngắn nhất trong byte thắng. Đầu vào là từ STDIN nếu có thể cho ngôn ngữ của bạn. Nếu không thể, hãy chỉ ra phương thức nhập trong câu trả lời của bạn.
abcd
, đầu raadbc
cũng sẽ được chấp nhận, phải không?