एल्गोरिथ्म्स और डेटा स्ट्रक्चर्स

मिलान करने वाले कोष्ठक खोजें

आपको उद्घाटन (opening) और समापन (closing) कोष्ठकों की एक स्ट्रिंग दी गई है। आपका कार्य है कि प्रत्येक समापन कोष्ठक के लिए उसका संबंधित उद्घाटन कोष्ठक ढूँढ़ें। यह सुनिश्चित किया गया है कि दी गई कोष्ठक श्रृंखला (sequence) मान्य है।

इनपुट

इनपुट में एक ही पंक्ति s होती है (1 ≤ |s| ≤ )।

आउटपुट

हर समापन कोष्ठक के लिए, प्रोग्राम को उसके अनुरूप उद्घाटन कोष्ठक का इंडेक्स प्रिंट करना चाहिए। सभी इंडेक्सों के बीच एक रिक्त स्थान (space) होना चाहिए।

उदाहरण

इनपुट
आउटपुट
(()())
2 4 1
((()))
3 2 1
()()()
1 3 5

स्पष्टीकरण

  1. (()())
    1. Bracket
      (
      (
      )
      (
      )
      )
      Index
      1
      2
      3
      4
      5
      6
      Opening index
      -
      -
      2
      -
      4
      1
  1. ((()))
    1. Bracket
      (
      (
      (
      )
      )
      )
      Index
      1
      2
      3
      4
      5
      6
      Opening index
      -
      -
      -
      3
      2
      1
  1. ()()()
    1. Bracket
      (
      )
      (
      )
      (
      )
      Index
      1
      2
      3
      4
      5
      6
      Opening index
      -
      1
      -
      3
      -
      5
 
 

Constraints

Time limit: 2 seconds

Memory limit: 512 MB

Output limit: 10 MB

To check your solution you need to sign in
Sign in to continue