CCO-25 (2025) - 4 (Restaurant Recommendation Rescue)
View as PDFRestaurant Recommendation Rescue
Μια επίδοξη μουσικός, η K, λατρεύει να πηγαίνει για shabu-shabu! Πρόσφατα, έχει επισκεφθεί εστιατόρια shabu-shabu, αριθμημένα από
έως
, ακολουθώντας τον παρακάτω αλγόριθμο:
- Η K διατηρεί μια διατεταγμένη λίστα προτάσεων, η οποία αρχικά περιέχει το εστιατόριο
.
- Την
-οστή ημέρα, επισκέπτεται το επόμενο προτεινόμενο εστιατόριο στη λίστα της, το οποίο της προτείνει τα εστιατόρια
.
- Η K προσθέτει το
στη λίστα των εστιατορίων που θα επισκεφθεί.
- Η K επαναλαμβάνει τα βήματα 2-4 μέχρι να εξαντληθούν τα προτεινόμενα εστιατόρια.
- Η K καταγράφει τον πίνακα
, όπου το
ισούται με τον αριθμό των εστιατορίων που της προτάθηκαν την
-οστή ημέρα. Δηλαδή,
.
Εγγυάται ότι και ότι
για
, δηλαδή κάθε εστιατόριο, εκτός από το πρώτο, θα προταθεί από ακριβώς ένα άλλο εστιατόριο.
Μόλις η K ολοκληρώσει τη λίστα της, ο φίλος της H, που του αρέσει να κάνει φάρσες, αποφασίζει να της παίξει μια φάρσα! Αντικαθιστά τον πίνακα με έναν άλλο πίνακα
. Η K πιστεύει ότι αυτός ο νέος πίνακας
μπορεί απλώς να είναι μια κυκλική μετατόπιση του αρχικού της πίνακα, γι' αυτό σας ζητά να προσδιορίσετε όλες τις δυνατές τιμές
για τις οποίες ισχύει
, για κάθε
, για οποιαδήποτε έγκυρη έξοδο του αλγορίθμου της,
.
Επιπλέον, η K θα εκτελέσει στη συνέχεια πράξεις. Σε κάθε
-οστή πράξη, ανταλλάσσει τα
και
και σας ζητά να κάνετε το ίδιο στον νέο πίνακα. Μπορείτε να βοηθήσετε την K να καταλάβει τη φάρσα του φίλου της;
Είσοδος
Η πρώτη γραμμή της εισόδου περιέχει δύο ακέραιους αριθμούς, (
) και
(
).
Η επόμενη γραμμή περιέχει μη αρνητικούς ακέραιους αριθμούς, χωρισμένους με κενά,
(
), που αποτελούν την αρχική ακολουθία.
Καθεμία από τις επόμενες γραμμές περιέχει δύο ακέραιους αριθμούς,
και
(
και
), οι οποίοι υποδεικνύουν ότι πρέπει να ανταλλάξετε τα
και
.
Ο παρακάτω πίνακας δείχνει πώς κατανέμονται οι διαθέσιμοι 25 βαθμοί:
| Βαθμοί | Περιορισμοί | Επιπλέον περιορισμοί |
| 3 | ||
| 7 | ||
| 10 | ||
| 5 |
Έξοδος
Για καθέναν από τους πίνακες (συμπεριλαμβανομένου του αρχικού πίνακα
), έστω
το σύνολο των ακεραίων
για τους οποίους υπάρχει μια έγκυρη έξοδος
του αλγορίθμου της K, τέτοια ώστε
για κάθε
.
Εκτυπώστε σε μία γραμμή τους ακέραιους αριθμούς και
, χωρισμένους με ένα κενό.
Ειδικότερα, αν , η έξοδός σας πρέπει να είναι
0 0.
Παράδειγμα
input
5 3
1 2 0 0 1
0 2
1 3
3 2
output
1 4
1 1
1 2
1 2
Επεξήγηση του παραδείγματος
Ο πίνακας είναι
. Μπορεί να αποδειχθεί ότι αυτή είναι η μοναδική έγκυρη έξοδος του αλγορίθμου της K που αντιστοιχεί στον πίνακα
. Μια πιθανή είσοδος για τον αλγόριθμο της K που παράγει αυτόν τον πίνακα
είναι:
Μετά την ανταλλαγή των και
, προκύπτει ο πίνακας:
.
Μπορεί να αποδειχθεί ότι η μοναδική έγκυρη έξοδος του αλγορίθμου της K που αντιστοιχεί σε αυτόν τον πίνακα είναι .
Μια πιθανή είσοδος για τον αλγόριθμο της K που παράγει αυτόν τον πίνακα είναι:
Συμβουλές για Python (μόνο CIW)
Συνιστάται να χρησιμοποιήσετε γρήγορη είσοδο (για παράδειγμα, sys.stdin.read()) και γρήγορη έξοδο (για παράδειγμα, sys.stdout.write()), αν επιχειρείτε να λύσετε το τελευταίο υποπρόβλημα.
Comments