CCC-05 (2005) - J5 (Bananas)

View as PDF

Submit solution

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

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

Ο όρος "κώδικας μαϊμού" ("code monkey") χρησιμοποιείται μερικές φορές για την αναφορά σε έναν προγραμματιστή που δεν γνωρίζει πολλά για τον προγραμματισμό. Αυτό είναι άδικο για τους πιθήκους, γιατί αντίθετα με τη δημοφιλή πεποίθηση, οι πίθηκοι είναι αρκετά έξυπνοι. Απλώς έχουν παρεξηγηθεί. Αυτό μπορεί να οφείλεται στο ότι οι πίθηκοι δεν μιλούν αγγλικά, αλλά μόνο τη γλώσσα των πιθήκων. Η δουλειά σας είναι να βοηθήσετε τους ανθρώπους και τους πιθήκους να κατανοήσουν ο ένας τον άλλον γράφοντας ένα λεξικό για τη γλώσσα των πιθήκων. Για κάθε λέξη που πληκτρολογείτε, το πρόγραμμά σας πρέπει να καθορίσει εάν είναι έγκυρη λέξη στη γλώσσα των πιθήκων.

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

  1. Μια λέξη της γλώσσας των πιθήκων είναι ένας ειδικός τύπος λέξης που ονομάζεται λέξη A, η οποία μπορεί προαιρετικά να ακολουθείται από το γράμμα N και μια λέξη στη γλώσσα των πιθήκων.
  2. Μια A-λέξη είναι είτε μόνο το μεμονωμένο γράμμα A, είτε το γράμμα B ακολουθούμενο από μια λέξη στη γλώσσα τνω πιθήκων, ακολουθούμενη από το γράμμα S.

Ορίστε μερικά παραδείγματα:

Η λέξη "A" είναι λέξη της γλώσσας των πιθήκων, γιατί είναι A-λέξη .
Η λέξη "ANA" είναι λέξη της γλώσσας των πιθήκων επειδή είναι η A-λέξη "A" ακολουθούμενη από το γράμμα "N" και η λέξη "A" στη γλώσσα των πιθήκων.
Η λέξη "ΑΝΑΝΑ" είναι λέξη της γλώσσας των πιθήκων επειδή είναι η A-λέξη που ακολουθείται από το γράμμα "Ν" και η λέξη "ANA" στη γλώσσα των πιθήκων.
Η λέξη "BANANAS" είναι λέξη της γλώσσας των πιθήκων γιατί είναι A-λέξη, αφού είναι το γράμμα "B" ακολουθούμενο από τη λέξη της γλώσσας των πιθήκων "ANANA", ακολουθούμενη από το γράμμα "S".

Γράψτε ένα πρόγραμμα που δέχεται λέξεις, μία λέξη σε κάθε γραμμή, και για κάθε λέξη τυπώνει YES, εάν η λέξη είναι λέξη της γλώσσας των πιθήκων και NO, εάν η λέξη δεν είναι λέξη της γλώσσας των πιθήκων. Η λέξη εισόδου X υποδηλώνει ότι το πρόγραμμα πρέπει να τερματιστεί και δεν υπάρχει έξοδος για τη λέξη X (παρόλο που δεν είναι λέξη της γλώσσας των πιθήκων).

Παράδειγμα

input

A
ANA
ANANA
BANANAS
BANANA
X

output

YES
YES
YES
YES
NO

Comments

There are no comments at the moment.