Bread First Search
Υπάρχουν πόλεις σε ένα δίκτυο μη κατευθυνόμενων δρόμων. Κάθε δρόμος συνδέει ένα ζεύγος πόλων. Η κυβέρνηση αποφάσισε να πραγματοποιήσει μια αναζήτηση με βάση το πλάτος (breadth first search), που σημαίνει την εύρεση μιας διάταξης των πόλεων τέτοια ώστε αν η σειρά αρχίζει με :
Κάθε πόλη εκτός από την γειτνιάζει με μια άλλη πόλη που δόθηκε προηγουμένως στη σειρά.
Οι πόλεις δίνονται με μη φθίνουσα σειρά απόστασης από την . Εδώ, απόσταση σημαίνει ο ελάχιστος αριθμός δρόμων που πρέπει να διασχίσετε για να φτάσετε σε μια πόλη.
Ωστόσο, κάποιος έκανε κατά λάθος μια αναζήτηση με βάση το ψωμί (bread first search). Βρήκαν την σειρά , , ... , (αυτό προέκυψε με ταξινόμηση των πόλεων με αυξανόμενη σειρά παραγωγής ψωμιού).
Για να καλύψει αυτό το ντροπιαστικό λάθος, η κυβέρνηση θα ήθελε να κατασκευάσει νέους δρόμους έτσι ώστε το , , ... , να είναι επίσης μια πιθανή σειρά αναζήτησης με βάση το πλάτος. Οι νέοι δρόμοι μπορούν να κατασκευαστούν μεταξύ δύο οποιωνδήποτε πόλεων. Ποιος είναι ο ελάχιστος δυνατός αριθμός δρόμων που πρέπει να κατασκευαστούν;
Είσοδος
Η πρώτη γραμμή περιέχει τους δύο ακέραιους και ( , (, \(\fraq{N(N-1)}{2}\)).
Η -οστη από τις επόμενες γραμμές περιέχει τους δύο ακέραιους και ( , ), που αντιπροσωπεύουν τα δύο τελικά σημεία του -οστου δρόμου. Είναι εγγυημένο ότι και υπάρχει το πολύ ένας δρόμος μεταξύ δύο οποιωνδήποτε πόλεων.
Βαθμολογία
Για από τους διαθέσιμους βαθμούς, .
Για επιπλέον από τους διαθέσιμους βαθμούς, .
Έξοδος
Σε μία μοναδική γραμμή, εκτυπώστε τον ελάχιστο αριθμό δρόμων που πρέπει να κατασκευαστούν.
Παραδείγματα
input
2 0
output
1
Επεξήγηση του 1ου παραδείγματος
Για να είναι το , μια σειρά αναζήτησης με βάση το πλάτος, πρέπει να κατασκευαστεί ένας δρόμος μεταξύ της πόλης και .
input
6 3
1 3
2 6
4 5
output
2
Επεξήγηση του 2ου παραδείγματος
Χτίζοντας ένα δρόμο μεταξύ και και ένα δρόμο μεταξύ και , η σειρά των αποστάσεων γίνεται ,,,,, η οποία είναι σε μη φθίνουσα σειρά.
Comments