CCC-16 (2016) - S3 (Phonomenal Reviews)

View as PDF

Submit solution

Points: 20 (partial)
Time limit: 5.0s
Memory limit: 256M

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

Η Jo είναι blogger, που ειδικεύεται στην κριτική εστιατορίων. Σήμερα, έχει στόχο να επισκεφθεί όλα τα Vietnamese Pho εστιατόρια στην περιοχή Waterloo, προκειμένου να διαπιστώσει ποιο είναι το καλύτερο.

Υπάρχουν N εστιατόρια στην πόλη του Waterloo, αριθμημένα από το 0 έως το N - 1. Ωστόσο, μόνο M από αυτά είναι εστιατόρια Pho. Η Jo μπορεί να επιλέξει να ξεκινήσει από οποιοδήποτε εστιατόριο. Υπάρχουν N - 1 δρόμοι στο Waterloo, καθένας από τους οποίους δρόμος συνδέει ακριβώς δύο εστιατόρια. Χρησιμοποιώντας αυτούς τους δρόμους, μπορείτε να φτάσετε από οποιοδήποτε εστιατόριο σε κάθε ένα από τα εστιατόρια. Η Jo χρειάζεται ακριβώς 1 λεπτό για να ταξιδέψει κατά μήκος οποιουδήποτε δρόμου.

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

ccc16s3-figure-1.svg

Μια ιδιότητα που ισχύει για όλα τα δέντρα είναι ότι υπάρχει ακριβώς ένα μονοπάτι που δεν επαναλαμβάνει κανέναν δρόμο ανάμεσα σε δύο οποιαδήποτε σημεία του δέντρου.

Ποιο είναι το ελάχιστο χρονικό διάστημα που πρέπει να ξοδέψει η Jo ταξιδεύοντας στους δρόμους για να επισκεφθεί όλα τα εστιατόρια Pho;

Είσοδος

Η πρώτη γραμμή της εισόδου θα περιέχει 2 ακέραιους αριθμούς, N και M (2 \le M \le N \le 100\;000).

Η δεύτερη γραμμή της εισόδου θα περιέχει M διαφορετικούς ακέραιους αριθμούς που θα υποδεικνύουν τα εστιατόρια που είναι Pho.

Οι επόμενες N - 1 γραμμές θα περιέχουν 2 ακέραιους αριθμούς η καθεμία. Η i-οστή γραμμή θα περιέχει τους a_{i} και b_{i}, (0 \le a_{i}, b_{i} \le N - 1), που αντιπροσωπεύουν μια διαδρομή μεταξύ των δύο εστιατορίων με αριθμούς a_{i} και b_{i}.

Για 3 από τους 15 διαθέσιμους βαθμούς, M = 2 και N \le 100.
Για επιπλέον 3 από τους 15 διαθέσιμους βαθμούς, M \le 3 και N \le 100.
Για επιπλέον 3 από τους 15 διαθέσιμους βαθμούς, M \le 8 και N \le 100.
Για επιπλέον 4 από τους 15 διαθέσιμους βαθμούς, M \le N \le 1000.

Έξοδος

Το πρόγραμμά σας θα πρέπει να εξάγει μία γραμμή, η οποία θα περιέχει έναν ακέραιο αριθμό - το ελάχιστο χρονικό διάστημα σε λεπτά, που Jo πρέπει η να περάσει ταξιδεύοντας στους δρόμους ώστε να επισκεφθεί όλα τα εστιατόρια Pho.

Παραδείγματα

input

8 2
5 2
0 1
0 2
2 3
4 3
6 1
1 5
7 3

output

3
Επεξήγηση του πρώτου παραδείγματος:

Η διαδρομή μεταξύ 5 και 2 περνάει από το 5 \to 1 \to 0 \to 2, το οποίο χρησιμοποιεί 3 δρόμους.


input

8 5
0 6 4 3 7
0 1
0 2
2 3
4 3
6 1
1 5
7 3

output

7
Επεξήγηση του δεύτερου παραδείγματος:

Αν η Jo ξεκινήσει από το εστιατόριο 6, θα χρειαστεί να χρησιμοποιήσει μόνο 7 δρόμους. Μια πιθανή διαδρομή που μπορεί να ακολουθήσει είναι: 6 \to 1 \to 0 \to 2 \to 3 \to 7 \to 3 \to 4. Παρατηρήστε ότι δεν χρειάζεται να επισκεφθεί το εστιατόριο 5, αφού δεν είναι ένα εστιατόριο Pho. Ένα διάγραμμα του δικτύου δρόμων παρουσιάζεται παρακάτω:

ccc16s3-figure-2.svg


Comments

There are no comments at the moment.