UVa-673 : Parentheses Balance

View as PDF

Submit solution

Points: 10 (partial)
Time limit: 1.0s
Memory limit: 64M

Author:
Problem type
Allowed languages
Blockly, C, C++, Java, Python

Πρόβλημα

Σας δίνεται μία συμβολοσειρά που περιέχει παρενθέσεις '(', ')', '[', ']'. Μία τέτοια συμβολοσειρά είναι _σωστή_ αν:

  1. Είναι η άδεια συμβολοσειρά.
  2. Χωρίζεται σε 2 συμβολοσειρές AB, όπου οι A, B είναι σωστές.
  3. Μπορεί να γραφτεί ως (A) ή [A], όπου η A είναι σωστή.

Να γράψετε πρόγραμμα που διαβάζει μία ακολουθία τέτοιων συμβολοσειρών και ελέγχει αν κάθε μία είναι σωστή. Μπορείτε να θεωρήσετε ότι καμία συμβολοσειρά δε ξεπερνά το 128 σε μήκος.

Μορφή Εισόδου

Δίνεται στην πρώτη γραμμή θετικός ακέραιος N. Ακολουθούν N γραμμές με 1 συμβολοσειρά σε κάθε γραμμή.

Μορφή Εξόδου

Να εκτυπώσετε N γραμμές που θα περιλαμβάνουν είτε 'Yes', αν η αντίστοιχη συμβολοσειρά είναι σωστή, είτε 'No', αλλιώς.

Παράδειγμα 1

Είσοδος:

3
([])
(([()])))
([()[]()])()

Έξοδος:

Yes
No
Yes

Comments

There are no comments at the moment.