COCI-07 (2007) - Γύρος #1 - 6 (Staza)

View as PDF

Submit solution

Points: 35 (partial)
Time limit: 1.0s
Memory limit: 32M

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

Ένας ποδηλατικός αγώνας διοργανώνεται σε μια χώρα. Το συγκοινωνιακό δίκτυο της χώρας αποτελείται από N πόλεις που αριθμούνται από το 1 έως το N, με M αμφίδρομους δρόμους που τις συνδέουν. Θα χρησιμοποιήσουμε τους παρακάτω όρους:

  • Ένα μονοπάτι είναι μια ακολουθία δρόμων στην οποία κάθε δρόμος ξεκινά από την πόλη στην οποία τελείωσε ο προηγούμενος δρόμος.
  • Ένα απλό μονοπάτι είναι ένα μονοπάτι που δεν επισκέπτεται ποτέ μια πόλη περισσότερες από μία φορές.
  • Ένας δακτύλιος είναι ένα απλό μονοπάτι που καταλήγει στην ίδια πόλη από την οποία ξεκίνησε.

Το δίκτυο είναι τέτοιο που υπάρχει τουλάχιστον ένα μονοπάτι μεταξύ κάθε ζεύγους πόλεων. Επιπλέον, κάθε δρόμος στο δίκτυο είναι μέρος το πολύ ενός δακτυλίου. Πρέπει να βρείτε τη μεγαλύτερη διαδρομή για τον αγώνα που να ικανοποιεί δύο περιορισμούς:

  • Το μονοπάτι μπορεί να ξεκινά από οποιαδήποτε πόλη, αλλά πρέπει να τελειώνει στην πόλη 1.
  • Το μονοπάτι μπορεί να επισκεφθεί μια πόλη περισσότερες από μία φορές, αλλά δεν πρέπει να περιέχει κανένα δρόμο περισσότερες από μία φορές.
Είσοδος

Η πρώτη γραμμή εισόδου περιέχει δύο ακέραιους N και M (2 \le N \le 10\,000,\;1 \le M \le 2N-2) - οι αριθμοί των πόλεων και των δρόμων στο δίκτυο.
Κάθε μία από τις ακόλουθες γραμμές M περιέχει δύο διαφορετικούς ακέραιους αριθμούς A και B (1 \le A, B \le N). Αυτοί οι αριθμοί υποδεικνύουν ότι υπάρχει αμφίδρομος δρόμος μεταξύ των πόλεων A και B. Δεν υπάρχουν δύο πόλεις που συνδέονται απευθείας με περισσότερους από έναν δρόμους.

Έξοδος

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

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

input

4 3
1 2
1 3
2 4

output

2

input

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

output

5

input

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

output

6

Comments

There are no comments at the moment.