COCI-11 (2011) - Γύρος #3 - 1 (Digitalna) *

View as PDF

Submit solution

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

Author:
Problem type
Allowed languages
C, C++, Java, Pascal, Python
Digitalna

Πριν από λίγο καιρό, οι παππούδες του Mirko έπρεπε να αλλάξουν από αναλογικό σε ψηφιακό δέκτη τηλεόρασης. Στον παλιό τους αναλογικό δέκτη μπορούσαν να παρακολουθήσουν μόνο δύο κανάλια: BLJTV1 και BLJTV2. Με τη μετάβαση σε ψηφιακό δέκτη απέκτησαν δεκάδες νέα κανάλια, αλλά παρόλα αυτά ήθελαν να παρακολουθήσουν μόνο τα δύο κανάλια που είχαν πριν. Ζήτησαν από τον Mirko να ρυθμίσει το τηλεχειριστήριο με τρόπο ώστε το BLJTV1 να είναι στο πρώτο και το BLJTV2 στο δεύτερο κλειδί.
Όταν είναι ενεργοποιημένος, ο ψηφιακός δέκτης δημιουργεί μια λίστα με τα διαθέσιμα κανάλια. Όλα τα κανάλια είναι ξεχωριστά και η λίστα περιέχει πάντα BLJTV1 και BLJTV2. Ο Μίρκο βρήκε το τηλεχειριστήριο και άρχισε να ρυθμίζει τον δέκτη. Το μενού περιέχει τη λίστα καναλιών και ένα μικρό βέλος που επισημαίνει το τρέχον επιλεγμένο κανάλι. Μετά την είσοδο στο μενού, το βέλος επισημαίνει το πρώτο κανάλι στη λίστα.
Υπάρχουν τέσσερις λειτουργίες στο μενού, που σημειώνονται με τους αριθμούς 1 έως 4:

  1. μετακινήστε το βέλος μία θέση προς τα κάτω (από το κανάλι i στο κανάλι i+1)
  2. μετακινήστε το βέλος μία θέση προς τα πάνω (από το κανάλι i στο κανάλι i-1)
  3. μετακινήστε το βέλος και το επιλεγμένο κανάλι μία θέση προς τα κάτω (το κανάλι i και το κανάλι i+1 αλλάζουν θέσεις, το βέλος καταλήγει στη θέση i+1)
  4. μετακινήστε το βέλος και το επιλεγμένο κανάλι μια θέση προς τα πάνω (το κανάλι i και το κανάλι i-1 εναλλάσσονται θέσεις, το βέλος καταλήγει στη θέση i-1)

Το μενού είναι ισχυρό, επομένως οι μη έγκυρες εντολές (όπως μια εντολή που μετακινεί το βέλος έξω από τη λίστα καναλιών) απλώς αγνοούνται.
Γράψτε ένα πρόγραμμα το οποίο, δίνοντας μια λίστα καναλιών, θα εξάγει μια ακολουθία οποιωνδήποτε λειτουργιών έτσι ώστε, μετά την εκτέλεσή τους, το BLJTV1 να βρίσκεται στην πρώτη θέση και το BLJTV2 στη δεύτερη θέση στη λίστα καναλιών. Επιπλέον, το μήκος της ακολουθίας θα πρέπει να είναι μικρότερο από 500. Η σειρά όλων των άλλων καναλιών είναι αυθαίρετη.

Είσοδος

Η πρώτη γραμμή εισόδου περιέχει έναν θετικό ακέραιο αριθμό N\;(2 \leq N \leq 100), αριθμό καναλιών.
Οι επόμενες N γραμμές περιέχουν μια λίστα καναλιών που δημιουργούνται από τον ψηφιακό δέκτη. Κάθε γραμμή περιέχει το όνομα ενός καναλιού. Το όνομα του καναλιού είναι μια ακολουθία το πολύ 10 χαρακτήρων - κεφαλαία γράμματα του αγγλικού αλφαβήτου και ψηφία.
Η ακολουθία εισόδου δημιουργείται με τέτοιο τρόπο ώστε να απαιτείται πάντα να γίνεται τουλάχιστον μία λειτουργία.

Έξοδος

Η πρώτη και μοναδική γραμμή εξόδου θα πρέπει να περιέχει την ακολουθία των εντολών του Mirko χωρίς κενά ενδιάμεσα.

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

input

3
ABC
BLJTV1
BLJTV2

output

33

input

4
ABC1
ABC02
BLJTV2
BLJTV1

output

11144411144

input

4
ABC1
ABC02
BLJTV2
BLJTV1

output

33144413

Comments

There are no comments at the moment.