CCC-24 (2024) - J4 (Troublesome Keys)

View as PDF

Submit solution

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

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

Καθώς ο Άλεξ πληκτρολογεί, το πληκτρολόγιό του συμπεριφέρεται περίεργα. Δύο πλήκτρα, του προκαλούν πρόβλημα:

  • Ένα πλήκτρο εμφανίζει το ίδιο λάθος γράμμα κάθε φορά που πατιέται. Ο Άλεξ αποκαλεί αυτό το πλήκτρο το ανόητο πλήκτρο. Παραδόξως, ο Άλεξ δεν έχει χρειαστεί ποτέ να πληκτρολογήσει το λάθος γράμμα που εμφανίζεται από το ανόητο πλήκτρο.
  • Ένα άλλο πλήκτρο δεν εμφανίζει τίποτα όταν πατιέται. Ο Άλεξ ονομάζει αυτό το πλήκτρο το ήσυχο πλήκτρο.

Ο Άλεξ πατάει το ανόητο πλήκτρο τουλάχιστον μία φορά, αλλά δεν πατάει απαραίτητα το ήσυχο πλήκτρο.

Η δουλειά σας είναι να προσδιορίσετε τα προβληματικά πλήκτρα και το λάθος γράμμα που εμφανίζεται. Ευτυχώς, αυτό είναι εφικτό επειδή ο Alex δεν πατάει ποτέ το ανόητο πλήκτρο αμέσως μετά το πάτημα του ήσυχου πλήκτρου και ο Alex δεν πατάει ποτέ το ήσυχο πλήκτρο αμέσως μετά το πάτημα του ανόητου πλήκτρου.

Είσοδος

Θα υπάρχουν δύο γραμμές εισόδου. Η πρώτη γραμμή της εισόδου θα αντιπροσωπεύει τα N πλήκτρα που πατάει ο Alex στο πληκτρολόγιο. Η δεύτερη γραμμή της εισόδου θα αντιπροσωπεύει τα γράμματα που εμφανίζονται στην οθόνη.

Και οι δύο γραμμές της εισόδου θα περιέχουν μόνο πεζά γράμματα του αλφαβήτου.

Ο ακόλουθος πίνακας δείχνει πώς κατανέμονται οι 15 διαθέσιμοι βαθμοί:

Βαθμοί Περιγραφή Όριο
3 Το ήσυχο πλήκτρο δεν πατιέται. Πατιέται ένας μικρός αριθμός πλήκτρων. N \le 50
3 Το πρώτο προβληματικό πλήκτρο που πατιέται είναι το ανόητο πλήκτρο. Πατιέται ένας μικρός αριθμός πλήκτρων. N \le 50
5 Το πρώτο προβληματικό πλήκτρο που πατιέται μπορεί να είναι το ανόητο πλήκτρο ή το ήσυχο πλήκτρο. Πατιέται ένας μικρός αριθμός πλήκτρων. N \le 50
4 Το πρώτο προβληματικό πλήκτρο που πατήθηκε μπορεί να είναι το ανόητο πλήκτρο ή το ήσυχο πλήκτρο. Πατιέται μεγάλος αριθμός πλήκτρων. N \le 500.000
Έξοδος

Θα υπάρχουν δύο γραμμές εξόδου.

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

Στη δεύτερη γραμμή, εξάγετε το γράμμα που αντιστοιχεί στο ήσυχο πλήκτρο αν πατηθεί.

Εξάγετε το χαρακτήρα της παύλας (-) εάν το ήσυχο πλήκτρο δεν πατηθεί.

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

input

forloops
fxrlxxps

output

o x
-
Επεξήγηση του πρώτου παραδείγματος:

Το γράμμα που αντιστοιχούσε στο ανόητο πλήκτρο ήταν το γράμμα o. Κάθε φορά που το πατούσε, εμφανιζόταν το λάθος γράμμα x. Το ήσυχο πλήκτρο δεν πατήθηκε.


input

forloops
fxrlxxp

output

o x
s
Επεξήγηση του δεύτερου παραδείγματος:

Το γράμμα που αντιστοιχούσε στο ανόητο πλήκτρο ήταν το γράμμα o. Κάθε φορά που πατιόταν, εμφανιζόταν το λάθος γράμμα x. Το ήσυχο πλήκτρο αντιστοιχεί στο γράμμα s το οποίο δεν εμφανίστηκε.


input

forloops
frlpz

output

s z
o
Επεξήγηση του τρίτου παραδείγματος:

Το γράμμα που αντιστοιχούσε στο ανόητο πλήκτρο ήταν το γράμμα s. Κάθε φορά που πατιόταν, εμφανιζόταν το λάθος γράμμα z. Το ήσυχο πλήκτρο αντιστοιχεί στο γράμμα o το οποίο δεν εμφανίστηκε.


Comments

There are no comments at the moment.