Travelling Salesperson
Στην πόλη του ΚοκκινοΜπλε, κάθε ζεύγος κτηρίων συνδέεται με ένα δρόμο, είτε κόκκινο είτε μπλε. Για να αλλάξει κάποιος τον δρόμο στον οποίο ταξιδεύει από μπλε σε κόκκινο και το αντίστροφο, κοστίζει ένα εισητήριο. Το μήκος της διαδρομής είναι ο αριθμός των κτηρίων που έχουν επισκεφθεί. Για παράδειγμα, η ακόλουθη διαδρομή έχει μήκος πέντε και κοστίζει ένα εισητήριο.
Αν θέλαμε να ταξιδέψουμε σε ένα μπλε δρόμο ξανά αφού έχουμε επισκεφθεί την κορυφή για δεύτερη φορά, θα χρειαζόμασταν άλλο ένα εισητήριο, για ένα σύνολο δύο εισητηρίων:
Είστε ένας περιπλανώμενος πωλητής που επισκέπτεται την πόλη του ΚοκκινοΜπλε, και επιθυμείτενα επισκεφθείτε κάθε κτήριο τουλάχιστον μία φορά, ενώ ελαχιστοποιείτε τις επαναλαμβανόμενες επισκέψεις στα ίδια κτήρια. Δεν έχετε αποφασίσει ακόμα από ποιο κτήριο θα ξεκινήσετε τη διαδρομή σας, οπότε θα θέλατε να σχεδιάσετε όλες τις πιθανές διαδρομές. Επιπλέον, έχετε πρόσβαση σε ένα μόνο εισητήριο. Για κάθε κτήριο, θα θέλατε να βρείτε μια διαδρομή ελάχιστου μήκουςπου ξεκινά από αυτό το κτήριο, επισκέπτεται όλα τα κτήρια τουλάχιστον μία φορά και χρησιμοποιεί το πολύ ένα εισητήριο.
Είσοδος
Η πρώτη γραμμή θα περιέχει έναν ακέραιο ( ), τον αριθμό των κτηρίων στη πόλη ΚοκκινοΜπλε.
Οι γραμμές έως περιέχουν η καθεμία μία συμβολοσειρά, με τη γραμμή να περιέχει τη συμβολοσειρά . που αντιπροσωπεύει τα χρώματα των δρόμων που συνδέονται με το κτήριο . Η συμβολοσειρά = ... έχει μήκος και αποτελείται μόνο από τους χαρακτήρες και . Αν το είναι , τότε ο δρόμος μεταξύ των κτηρίων και είναι κόκκινος. Αλλιώς, είναι μπλε.
Έξοδος
Εκτυπώστε γραμμές. Οι γραμμές - για θα πρέπει να περιέχουν έναν ακέραιο , που αντιπροσωπεύει το μήκος του "ταξιδιωτικού σχεδίου" που ξεκινά από το κτήριο . Οι γραμμές για θα πρέπει η καθεμία να περιέχει ακέραιους χωρισμένους με κενά, που περιγράφουν την σειρά με την οποία θα επισκεφθείτε τα κτήρια, ξεκινώντας από το κτήριο .
Βαθμολογία
Για κάθε ένα από τα "ταξιδιωτικά σχέδιά" σας, υπολογίζεται μια βαθμολογία. Έστω το μήκος της βέλτιστης διαδρομής που ξεκινά από κάθε κτήριο και το μήκος της διαδρομής σας. Αν το είναι μεγαλύτερο από το , τότε η βαθμολογία σας θα είναι και θα λάβετε μια ετυμηγορία Wrong Answer. Αν το είναι ίσο με το , τότε η βαθμολογία σας θα είναι . Αλλιώς η βαθμολογία σας θα είναι ⌊ + ⌋. Η βαθμολογία σας για τo παράδειγμα είναι η ελάχιστη βαθμολογία για κάθε "ταξιδιωτικό σχέδιο".
Αν κάποιο από τα σχέδιά σας είναι άκυρο, η βαθμολογία σας θα είναι και θα λάβετε μια ετυμηγορία Wrong Answer.
Η βαθμολογία της υποβολής σας είναι η ελάχιστη βαθμολογία από όλα τα παραδείγματα δοκιμής.
Παράδειγμα
input
4
R
RR
BRB
possible output
5
1 4 2 1 3
6
2 3 1 2 3 4
5
3 1 2 3 4
4
4 3 2 1
Επεξήγηση του παραδείγματος
Η πόλη ΚοκκινοΜπλε είναι όπως φαίνεται παρακάτω:
Η διαδρομή που ξεκινά από το κτήριο έχει ένα βέλτιστο μήκος επισκέπτοντας τα κτήρια με τη σειρά ,,,. Η διαδρομή της λύσης έχει μήκος , που σημαίνει ότι η βαθμολογία είναι ⌊ + ( - ) / ( - )⌋ = .
Comments