Breed Assignment
Ο Γιάννης ο αγρότης έχει αγελάδες που η καθεμία ανήκει σε μια από τρεις διαφορετικές ράτσες: Χολστάιν, Τζέρσεϊ ή Γκερνσεϊ.
Δυστυχώς, ο Γιάννης δεν μπορεί να θυμηθεί τις ακριβείς ράτσες των αγελάδων του! Θυμάται, όμως, μια λίστα με σχέσεις μεταξύ ζευγών αγελάδων του. Για παράδειγμα, μπορεί να θυμάται ότι οι αγελάδες και είναι της ίδιας ράτσας, ή ότι οι αγελάδες και είναι διαφορετικής ράτσας.
Δεδομένης της λίστας του Γιάννη με τις σχέσεις μεταξύ ζευγών αγελάδων, βοηθήστε τον να υπολογίσει τον αριθμό των διαφορετικών δυνατών κατανομών σε ράτσες των αγελάδων του (αυτός ο αριθμός μπορεί να είναι μηδέν αν η λίστα του περιέχει αντιφατικές πληροφορίες).
Είσοδος
Γραμμή : Δύο ακέραιοι αριθμοί χωρισμένοι με ένα κενό: και .
Γραμμές : Κάθε γραμμή περιγράφει τη σχέση μεταξύ ενός ζεύγους αγελάδων και . Είναι είτε της μορφής "", που σημαίνει ότι οι και είναι της ίδιας ράτσας, είτε της μορφής "", που σημαίνει ότι οι και είναι διαφορετικής ράτσας.
Έξοδος
- Γραμμή : Ο αριθμός των δυνατών κατανομών σε ράτσες.
Παράδειγμα
input (assign.in)
4 2
S 1 2
D 1 3
output (assign.out)
18
Επεξήγηση παραδείγματος:
Υπάρχουν αγελάδες. Οι αγελάδες και είναι της ίδιας ράτσας, και οι αγελάδες και είναι διαφορετικής ράτσας. Οι ακόλουθες έξι κατανομές σε ράτσες είναι πιθανές για τις πρώτες αγελάδες: , , , , , . Για κάθε μία από αυτές, μπορούμε να έχουμε πιθανές κατανομές ράτσας για την η αγελάδα, που δίνει συνολικά διαφορετικές κατανομές που είναι συμβατές με τη λίστα του Γιάννη.
Comments