Secret Code
Ο Γιάννης ο αγρότης έχει ένα μυστικό μήνυμα που θέλει να κρύψει από τις αγελάδες του. Το μήνυμα είναι μια συμβολοσειρά μήκους τουλάχιστον που περιέχει μόνο τους χαρακτήρες .
Για να κρυπτογραφήσει το μήνυμά του, ο Γιάννης εφαρμόζει μια ακολουθία "διαδικασιών" σε αυτό, όπου μια διαδικασία που εφαρμόζεται σε μια συμβολοσειρά πρώτα συντομεύει την αφαιρώντας είτε τον πρώτο είτε τον τελευταίο χαρακτήρα της, και στη συνέχεια η αρχική συμβολοσειρά προστίθεται είτε στην αρχή είτε στο τέλος. Για παράδειγμα, μια μόνο διαδικασία στη συμβολοσειρά θα μπορούσε να έχει ως αποτέλεσμα τέσσερις πιθανές συμβολοσειρές:
Δεδομένης της τελικής κρυπτογραφημένης συμβολοσειράς, μετρήστε τον αριθμό των πιθανών τρόπων με τους οποίους ο Γιάννης θα μπορούσε να έχει παραγάγει αυτή τη συμβολοσειρά χρησιμοποιώντας μία ή περισσότερες επαναλαμβανόμενες διαδικασίες εφαρμοσμένες σε κάποια αρχική συμβολοσειρά. Οι διαδικασίες αντιμετωπίζονται ως διακριτές ακόμα και αν δίνουν την ίδια κρυπτογράφηση του μηνύματος. Για παράδειγμα, υπάρχουν τέσσερις διακριτοί ξεχωριστοί τρόποι για να αποκτηθεί το από το , αντιστοιχώντας στις τέσσερις πιθανές διαδικασίες παραπάνω.
Είσοδος
- Γραμμή : Μια συμβολοσειρά μήκους το πολύ .
Έξοδος
- Γραμμή : Ο αριθμός των διαφορετικών τρόπων με τους οποίους ο Γιάννης θα μπορούσε να έχει παραγάγει αυτή τη συμβολοσειρά εφαρμόζοντας μία ή περισσότερες διαδοχικές διαδικασίες σε κάποια αρχική συμβολοσειρά μήκους τουλάχιστον . Αν δεν υπάρχουν τέτοιοι τρόποι, εκτυπώστε ένα μηδενικό.
Παράδειγμα
input (scode.in)
ABABA
output (scode.out)
6
Επεξήγηση παραδείγματος:
Ακολουθούν οι διαφορετικοί τρόποι με τους οποίους ο Γιάννης θα μπορούσε να έχει παραγάγει το :
- Ξεκινήστε με το
- Ξεκινήστε με το
- Ξεκινήστε με το
- Ξεκινήστε με το
- Ξεκινήστε με το
- Ξεκινήστε με το
Comments