Ντόμινο

Ντόμινο

Δύσκολο

Οδηγίες

Φτιάξε μια αλυσίδα από ντόμινο.

Υπολόγισε έναν τρόπο να διατάξεις ένα δεδομένο σύνολο ντόμινο έτσι ώστε να σχηματίζουν μια σωστή αλυσίδα ντόμινο (οι τελείες στο ένα μισό μιας πέτρας να ταιριάζουν με τις τελείες στο γειτονικό μισό μιας διπλανής πέτρας) και οι τελείες στα μισά των πετρών που δεν έχουν γείτονα (την πρώτη και την τελευταία πέτρα) να ταιριάζουν μεταξύ τους.

Για παράδειγμα, δεδομένων των πετρών [2|1], [2|3] και [1|3] θα πρέπει να υπολογίσεις κάτι σαν [1|2] [2|3] [3|1] ή [3|2] [2|1] [1|3] ή [1|3] [3|2] [2|1] κ.λπ., όπου ο πρώτος και ο τελευταίος αριθμός είναι ίδιοι.

Για τις πέτρες [1|2], [4|1] και [2|3] η αλυσίδα που προκύπτει δεν είναι έγκυρη: ο πρώτος και ο τελευταίος αριθμός του [4|1] [1|2] [2|3] δεν είναι ίδιοι. 4 != 3

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

Επεξεργασία μέσω GitHub Ο σύνδεσμος ανοίγει σε νέο παράθυρο ή καρτέλα
Haskell Exercism

Έτοιμος να ξεκινήσεις την άσκηση Ντόμινο;

Γράψου στο Exercism για να μάθεις και να κατακτήσεις Haskell με 107 ασκήσεις και πραγματική καθοδήγηση από ανθρώπους, όλα δωρεάν.