COCI-21 (2021) - Γύρος #3 - 2 (Cijanobakterije)

View as PDF

Submit solution

Points: 30 (partial)
Time limit: 1.0s
Memory limit: 512M

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

coci21c2-figure.svg

Η νεαρή μικροβιολόγος Maja φτιάχνει ένα μικροσκοπικό χριστουγεννιάτικο δέντρο από ένα είδος κυανοβακτηρίων που ονομάζονται Stigonema arboreus. Αυτό το είδος είναι γνωστό για τις αποικίες του από μεμονωμένα κελιά που συνδέονται μεταξύ τους, σχηματίζοντας ένα δενδρικό γράφο. Πιο συγκεκριμένα, για το καθένα ζεύγος κυανοβακτηρίων στην αποικία, υπάρχει ένα μοναδικό μονοπάτι μέσω της αποικίας από το ένα κυανοβακτήριο στο άλλο.

Η Maja θέλει η αποικία του χριστουγεννιάτικου δέντρου της να περιέχει μια αλυσίδα κυανοβακτηρίων που είναι όσο το δυνατόν πιο μεγάλη. Μια αλυσίδα προσδιορίζεται από μια αλληλουχία κυανοβακτηρίων, όπου το κάθε κυανοβακτήριο εμφανίζεται το πολύ μία φορά και κάθε ζεύγος γειτονικών κυανοβακτηρίων συνδέονται άμεσα μεταξύ τους. Επειδή καμία από τις αποικίες που έχει αυτή τη στιγμή δεν είναι αρκετά μεγάλη, η Maja θα πρέπει να συνδέσει μερικές από αυτές. Αυτό το κάνει επιλέγοντας επανειλημμένα δύο κυανοβακτήρια από διαφορετικές αποικίες, φέρνοντάς το ένα κοντά στο άλλο και ενώνοντάς τα με υπερκόλλα. Δεδομένου ότι τα βακτήρια είναι ευαίσθητα στους κύκλους, η Maja πρέπει να προσέχει να μην ενώσει δύο βακτήρια από την ίδια αποικία ανά πάσα στιγμή. Χρησιμοποιώντας μια σειρά από τέτοιες κολλήσεις, η Maja θέλει να αποκτήσει μια αποικία που περιέχει τη μεγαλύτερη δυνατή αλυσίδα.

Η Maja είναι κουρασμένη από τη συνεχή χρήση του μικροσκοπίπου της και υπάρχουν πολλά ακόμη κυανοβακτήρια. Βοηθήστε τη Maja να καθορίσει το μήκος της μεγαλύτερης αλυσίδας κυανοβακτηρίων που θα μπορούσε να αποκτήσει συνδέοντας τις αποικίες. Το μήκος μιας αλυσίδας καθορίζεται από τον αριθμό των κυανοβακτηρίων από τα οποία σχηματίζεται.

Είσοδος

Η πρώτη γραμμή περιέχει θετικούς ακέραιους αριθμούς n και m\;(1 \le n \le 100\,000,\;0 \le m < n), τον αριθμό των κυανοβακτηρίων και τον αριθμό των απευθείας συνδέσεων μεταξύ τους.

Οι ακόλουθες m γραμμές περιέχουν ένα ζεύγος θετικών ακεραίων a_i,\;b_i\;(1 \le a_i, b_i \le n), που δηλώνουν ότι τα βακτήρια a_i και b_i συνδέονται άμεσα. Κανένα βακτήριο δεν συνδέεται άμεσα με τον εαυτό του και καμία σύνδεση δε θα παρουσιαστεί περισσότερες από μία φορές.

Οι συνδέσεις είναι τέτοιες που τα βακτήρια σχηματίζουν κάποιες αποικίες, καθεμία από τις οποίες είναι ένα δέντρο.

Έξοδος

Στη μοναδική γραμμή τυπώστε το μεγαλύτερο δυνατό μήκος μιας αλυσίδας στην τελική αποικία.

Βαθμολογία
 Υποπρόβλημα    Βαθμοί   Περιορισμοί
1 15 m = n - 1
2 6 b_i = a_i + 1 για κάθε i\;=\;1,\;\ldots,\;m
3 6 1 \le a_i \le 2 για κάθε i\;=\;1,\;\ldots,\;m
4 15 1 \le n \le 1000
5 28 Κανένας επιπλέον περιορισμός.
Παραδείγματα

input

100 0

output

100

input

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

output

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

Στο δεύτερο παράδειγμα υπάρχουν δύο αποικίες κυανοβακτηρίων. Στην πρώτη αποικία βρίσκονται όλα τα κυανοβακτήρια απευθείας συνδεδεμένα με το κυανοβακτήριο 1 και στη δεύτερη με το κυανοβακτήριο 5. Εάν υπάρχουν δύο κυανοβακτήρια εκτός από το 1 και το 5 που συνδέονται, η αποικία που προκύπτει θα περιέχει τη μεγαλύτερη δυνατή αλυσίδα. Π.χ. αν το 2 και το 6 συνδεθούν, μια αλυσίδα θα είναι η 3 - 1 - 2 - 6 - 5 - 7, που έχει μήκος 6.


input

6 5
1 2
2 3
3 4
4 6
4 5

output

5

Comments

There are no comments at the moment.