COCI-21 (2021) - Γύρος #2 - 1 (Kaucuk)

View as PDF

Submit solution

Points: 15 (partial)
Time limit: 1.0s
Memory limit: 512M

Author:
Problem type
Allowed languages
C, C++, Java, Pascal, Python
Kaučuk

coci21b1-figure.svg

Ο επιστήμονας Davor γράφει τις εργασίες του σε LATEX1. Εμπνευσμένος από τη LATEX, σκέφτηκε το Kaučuk. Το Kaučuk είναι ένα πολύ απλό πρόγραμμα για την προετοιμασία ενός κειμένου προς εκτύπωση. Σας επιτρέπει να αριθμήστε τις επικεφαλίδες των ενοτήτων, των υποενοτήτων και υπο-υποενοτήτων και να τις προετοιμάσετε για εκτύπωση.

Το Kaučuk έχει μόνο τρεις διαφορετικές εντολές:

  • Η εντολή section ξεκινά μια νέα ενότητα. Όλες οι ενότητες από την είσοδο αριθμούνται στην έξοδο με θετικούς ακέραιους αριθμούς που ξεκινούν από το 1, με τη σειρά που εμφανίζονται στην είσοδο (βλ. πρώτο παράδειγμα).

  • Η εντολή subsection ξεκινά μια νέα υποενότητα. Οι υποενότητες αριθμούνται με δύο αριθμούς:
    τον αριθμό της ενότητας που περιέχει την υποενότητα και τον αριθμό της υποενότητας εντός της ενότητας (βλ. δεύτερο παράδειγμα). Σε κάθε ενότητα η αρίθμηση της υποενότητας ξεκινά ξανά από το 1 (βλ. τρίτο παράδειγμα).

  • Η εντολή subsubsection ξεκινά μια νέα υποενότητα που χρησιμοποιεί τρεις αριθμούς: τον αριθμό της ενότητας, τον αριθμό της υποενότητας και τον αριθμό της νέας υποενότητας εντός της υποενότητας, με τρόπο παρόμοιο με τις υποενότητες εντός των ενοτήτων (βλ. δεύτερο παράδειγμα).

Είναι εγγυημένο ότι στην είσοδο, κάθε υποενότητα περιέχεται σε κάποια ενότητα και κάθε υπο-υποενότητα περιέχεται σε κάποια υποενότητα. Ο Davor μπορεί να είναι καλός επιστήμονας, αλλά ο προγραμματισμός δεν είναι το δυνατό του σημείο, γι' αυτό σας ζητά να τον βοηθήσετε να γράψει ένα πρόγραμμα που προετοιμάζει ένα κείμενο γραμμένο σε Kaučuk για εκτύπωση.

Είσοδος

Η πρώτη γραμμή περιέχει έναν θετικό ακέραιο n (1 \le n \le 100), τον αριθμό των γραμμών των εντολών Kaučuk.

Οι ακόλουθες n γραμμές περιέχουν τον κώδικα Kaučuk του Davor. Κάθε γραμμή κώδικα αποτελείται από δύο σειρές χαρακτήρων, που είναι διαχωρισμένοι με ένα διάστημα: τον τύπο της ενότητας (ενότητα, υποενότητα ή υπο-υποενότητα) και τον τίτλο του. Κάθε τίτλος αποτελείται το πολύ από 20 πεζά γράμματα.

Έξοδος

Σε n γραμμές θα πρέπει να αριθμήσετε και να εκτυπώσετε τους τίτλους των ενοτήτων, των υποενοτήτων και των υπο-υποενοτήτων από τον κώδικα του Davor.

Βαθμολογία
 Υποπρόβλημα    Βαθμοί   Περιορισμοί
1 10 1 \le n \le 3
2 10 Ο κώδικας Kaučuk θα περιέχει μόνο την εντολή section.
3 10 Ο κώδικας Kaučuk θα περιέχει μόνο τις εντολές section και subsection
4 20 Κανένας επιπλέον περιορισμός.



1 πρόγραμμα κειμένου που χρησιμοποιείται για την προετοιμασία εγγράφου για εκτύπωση


Παραδείγματα

input

3
section zivotinje
section boje
section voce

output

1 zivotinje
2 boje
3 voce

input

4
section zivotinje
subsection macke
subsection psi
subsubsection mops

output

1 zivotinje
1.1 macke
1.2 psi
1.2.1 mops

input

4
section zivotinje
subsection psi
section voce
subsection ananas

output

1 zivotinje
1.1 psi
2 voce
2.1 ananas


Comments

There are no comments at the moment.