Sudoku
Το Sudoku είναι ένα λογικό, συνδυαστικό (combinatorial) παζλ τοποθέτησης αριθμών. Ο στόχος είναι να γεμίσετε ένα πλέγμα με ψηφία από το έως το με τέτοιο τρόπο ώστε να ικανοποιούνται οι ακόλουθες προτάσεις:
- Κάθε σειρά περιέχει ακριβώς μία εμφάνιση κάθε ψηφίου. από το έως το .
- Κάθε στήλη περιέχει ακριβώς μία εμφάνιση κάθε ψηφίου από το έως το .
- Κάθε ένα από τα εννέα υποπλέγματα διαστάσεων περιέχει ακριβώς μία εμφάνιση κάθε ψηφίου από το έως το .
Για ένα δεδομένο πλέγμα sudoku που δεν έχει ακόμη ολοκληρωθεί, προσδιορίστε αν υπάρχει κάποιο λάθος σε αυτό.
Σημείωση: Δεν είναι απαραίτητο να ελέγξετε αν το πλέγμα sudoku είναι επιλύσιμο.
Είσοδος
Η είσοδος περιγράφει το πλέγμα sudoku.
Οι χαρακτήρες '', '' και '' πλαισιώνουν τα υποπλέγματα .
Ο χαρακτήρας '' αντιπροσωπεύει ένα κενό κελί.
Όλοι οι υπόλοιποι χαρακτήρες στην είσοδο θα είναι ψηφία από το '' έως το ''.
Δείτε τα παραδείγματα για αποσαφήνιση.
Έξοδος
Αν υπάρχει λάθος στον πίνακα sudoku, εξάγετε τη λέξη . Διαφορετικά, εξάγετε τη λέξη .
Βαθμολογία
Υποπρόβλημα | Βαθμοί | Περιορισμοί |
1 | 11 | Γίνεται να διαπιστωθεί αν υπάρχει λάθος ελέγχοντας μόνο τον πρώτο κανόνα. |
2 | 12 | Γίνεται να διαπιστωθεί αν υπάρχει λάθος ελέγχοντας μόνο τον δεύτερο κανόνα. |
3 | 13 | Γίνεται να διαπιστωθεί αν υπάρχει λάθος ελέγχοντας μόνο τον τρίτο κανόνα. |
4 | 14 | Κανένας επιπλέον περιορισμός. |
Παραδείγματα
input
+---+---+---+
|52.|...|.81|
|.39|58.|...|
|.8.|.9.|...|
+---+---+---+
|24.|...|1.3|
|1..|43.|86.|
|.63|..7|.24|
+---+---+---+
|...|1.9|35.|
|..8|.74|6..|
|31.|86.|7.9|
+---+---+---+
output
OK
Επεξήγηση του πρώτου παραδείγματος:
Δεν υπάρχει κανένα λάθος, οπότε η έξοδος είναι .
input
+---+---+---+
|3..|6..|..4|
|4.9|8.1|..7|
|..7|.49|6..|
+---+---+---+
|946|157|8.2|
|.2.|3..|745|
|.7.|28.|...|
+---+---+---+
|...|4..|..5|
|8.5|.6.|.2.|
|734|..8|5..|
+---+---+---+
output
GRESKA
Επεξήγηση του δεύτερου παραδείγματος:
Υπάρχει ένα λάθος στην ένατη στήλη: το ψηφίο εμφανίζεται δύο φορές- και υπάρχει επίσης ένα λάθος στην κάτω δεξί υποπλέγμα : το ψηφίο εμφανίζεται δύο φορές.
input
+---+---+---+
|5..|98.|67.|
|6..|...|.31|
|.2.|613|.4.|
+---+---+---+
|.96|8.2|1.7|
|.28|..5|.9.|
|7.3|19.|6..|
+---+---+---+
|962|.7.|.1.|
|1.5|...|76.|
|.7.|5..|9..|
+---+---+---+
output
GRESKA
Επεξήγηση του τρίτου παραδείγματος:
Υπάρχουν δύο λάθη: το ψηφίο εμφανίζεται δύο φορές στη δεύτερη στήλη και το ψηφίο εμφανίζεται δύο φορές στην έβδομη στήλη.
Comments