Liars and Truth Tellers
Μετά από τόσο χρόνο που έχει περάσει με τις αγελάδες του, ο Γιάννης ο αγρότης άρχισε να καταλαβαίνει τη γλώσσα τους. Ακόμη, παρατηρεί ότι μεταξύ των αγελάδων του , κάποιες λένε πάντα την αλήθεια ενώ άλλες πάντα ψεύδονται.
Ο Γιάννης ακούει προσεκτικά δηλώσεις των αγελάδων του, κάθε μια της μορφής " ", που σημαίνει ότι "η αγελάδα υποστηρίζει ότι η αγελάδα λέει πάντα την αλήθεια", ή " ", που σημαίνει ότι "η αγελάδα υποστηρίζει ότι η αγελάδα λέει πάντα ψέματα". Κάθε δήλωση αφορά ένα ζευγάρι διαφορετικών αγελάδων, και το ίδιο ζευγάρι αγελάδων μπορεί να εμφανιστεί σε πολλές δηλώσεις.
Δυστυχώς, ο Γιάννης πιστεύει ότι ίσως έχει κάνει κάποιες εσφαλμένες καταχωρήσεις στη λίστα του, οπότε ενδέχεται να μην υπάρχει ένας έγκυρος τρόπος να διακρίνει κάθε αγελάδα ως αξιόπιστη (λέει πάντα αλήθεια) ή αναξιόπιστη (λέει πάντα ψέματα), που να είναι συνεπής με όλες τις δηλώσεις στη λίστα του. Για να βοηθήσετε τον Γιάννη να σώσει όσο το δυνατόν περισσότερες από τις καταχωρήσεις του, παρακαλούμε να υπολογίσετε τη μεγαλύτερη τιμή του , ώστε να υπάρχει ένας έγκυρος τρόπος να διακρίνουμε κάθε αγελάδα σε αξιόπιστη ή αναξιόπιστη, που να είναι συνεπής με τις πρώτες καταχωρήσεις στη λίστα του.
Είσοδος
Γραμμή : Δύο ακέραιοι αριθμοί χωρισμένοι με ένα κενό: και .
Γραμμές : Κάθε γραμμή είναι της μορφής " " ή " " και περιγράφει μια δήλωση που έκανε μια αγελάδα για μια αγελάδα .
Έξοδος
- Γραμμή : Τη μέγιστη τιμή του ώστε οι πρώτες καταχωρήσεις στη λίστα του Γιάννη να είναι συμβατές με κάποια ανάθεση "αξιόπιστη" (truth teller) ή "αναξιόπιστη" (liar) στις αγελάδες.
Παράδειγμα
input
4 3
1 4 L
2 3 T
4 1 T
output
2
Επεξήγηση παραδείγματος:
Υπάρχουν αγελάδες και δηλώσεις. Η αγελάδα λέει ότι η αγελάδα ψεύδεται, η αγελάδα λέει ότι η αγελάδα λέει την αλήθεια, και η αγελάδα λέει ότι η αγελάδα λέει την αλήθεια. Οι δηλώσεις και δεν μπορούν να ικανοποιηθούν ταυτόχρονα, αλλά οι δηλώσεις και μπορούν, αν πούμε πως οι αγελάδες έως λένε την αλήθεια και η αγελάδα ψεύδεται.
Comments