From: Vaggelis Kapoulas (kapoulas(@)cti.gr)
Date: Παρ 28 Μαΐ 1999 - 17:39:17 EEST
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ] [ attachment ]
- Mail actions: [ respond to this message ] [ mail a new topic ]
Γειά και χαρά σε όλους,
(Αρχικά σκεφτόμουνα να στείλω την απάντηση μόνο στον αποστολέα του quiz, αλλά τελικά αποφάσισα να τη μοιραστώ με όλη τη λίστα αφού η απάντηση που δίνω δεν είναι και η μοναδική λύση)
Πρέπει να υπάρχουν πολλές (έως πάρα πολλές λύσεις (όπως θα φανεί και από τημέθοδο που παρατίθεται στη συνέχεια).
Ενας απλός τρόπος να βρει κανείς μία (ή μερικές) λύσεις έχει ως εξής:
1. Χωρίζουμε τα 100 κελιά σε εννέα κλάσεις, έτσι ώστε
στην ίδια κλάση να ανήκουν κελιά που μπορεί κανείς να διαπεράσει μόνο με τις οριζόντιες και κάθετες κινήσεις (όχι τις διαγώνιες). Δηλαδή αν η κλάσεις είναι οι Α, Β, Γ, Δ, Ε, Ζ, Η, Θ και Ι τα κελιά κατηγοριοποιούνται όπως φαίνεται παρακάτω:
Α Β Γ Α Β Γ Α Β Γ Α Δ Ε Ζ Δ Ε Ζ Δ Ε Ζ Δ Η Θ Ι Η Θ Ι Η Θ Ι Η Α Β Γ Α Β Γ Α Β Γ Α Δ Ε Ζ Δ Ε Ζ Δ Ε Δ Η Θ Ι Η Θ Ι Η Θ Ι Η Α Β Γ Α Β Γ Α Β Γ Α Δ Ε Ζ Δ Ε Ζ Δ Ε Ζ Δ Η Θ Ι Η Θ Ι Η Θ Ι Η Α Β Γ Α Β Γ Α Β Α
2. Είναι φανερό οτι μπορούμε εύκολα (και με σχετικά
πολλούς τρόπους) να διαπεράσουμ όλα τα μέλη μίας κλάσης αν ξεκινήσουμε από ένα μέλος της (μόνο με οριζόντιες και κάθετες κινήσεις).
3. Είναι, επίσης, φανερό οτι υπάρχουν αρκετές ακολουθίες
μετάβασης από μία κλάση σε μιά άλλη, έτσι ώστε να περνάμε από κάθε κλάση μία και μόνη φορά, κάνοντας διαγώνιες κινήσεις. Π.χ. μία τέτοια ακολουθία είναι ΑΖΘΔΙΒΗΓΕ (κνοντας τις κινήσεις πάνω-δεξιά, πάνω-δεξιά, κάτω-δεξιά, πάνω-δεξιά, πάνω-δεξιά, κάτω-δεξιά, πάνω-δεξιά και πάνω-δεξιά (από κατάλληλο μλος της κάθε κλάσης).
4. Ετσι η μέθοδος είναι:
α. Ξεκίνα από μία οποιαδήποτε κλάση β. Διαπέρασε όλη την κλάση γ. Μεταπήδησε στην επόμενη κλάση δ. Επανέλαβε από το βήμα (β) μέχρι να τελειώσουν οι κλάσεις
5. Κατά την εφαρμογή τηε παραπάνω μεθόδου πρέπει να
προσεχθούν τα εξής:
i. Ο τερματισμός της διαπέρασης μίας κλάσης πρέπει να γίνεται
σε σημείο που να επιτρέπει τη μετάβαση στην επόμενη κλάση. Π.χ. αν ια την επόμενη κλάση πρέπει να γίνει το βήμα πάνω-δεξιά δεν πρέπει να καταλήξουμε σε κάποιο κελί που να βρίσκεται πολύ πάνω ή πολύ δεξιά. (Αυτό είναι σχετικά εύκολο γιατί υπάρχουν αρκετοί τρόποι διαπέρασης μια κλάσης) ii. Οι κλάσεις Ε, Ζ, Θ και Ι (με εννέα μέλη η κάθε μία) δεν μπορούν να διαπεραστούν ολόκληρες εάν η εκκίνηση δεν γίνει από το σωστό μέλος (τέσσερα από τα εννέα μέλη δεν μπορούν να χρησιμοποιηθούν ως σημεία εκκίνησης). Ετσι θα πρέπει η μεταπήδηση προς αυτές τις κλάσεις να γίνεται σε σωστό κελί. (Και αυτό δεν είναι δύσκολο αφού υπάρχουν αρκετοί τρόποι για να γίνει η διαπέραση της προηγούμενης κλάσης, ενώ μπορεί κανείς να δοκιμάσει και εναλλακτικές ακολουθίες μετάβασης από κλάση σε κλάση)
Χρησιμοποιώντας τα παραπάνω κατάφερα αρκετά εύκολα να παράγω την παρακάτω λύση.
1 59 99 2 58 98 3 57 97 4
37 82 19 36 83 20 45 84 21 44
76 34 49 77 33 48 69 32 47 70
12 60 100 13 67 95 14 56 96 5
38 81 18 35 88 17 46 85 22 43
75 27 50 78 26 55 68 31 54 71
11 61 89 16 66 94 15 65 93 6
39 80 25 40 87 24 41 86 23 42
74 28 51 74 29 52 73 30 53 72
10 62 90 9 63 91 8 64 92 7
Νομίζω οτι μεταβάλλοντας τον τρόπο διαπέρασης κάθε κλάσης, την ακολουθία των κλάσεων αι το κελί εκκίνησης μπορεί κανείς να παράγει αρκετές εναλλακτικές λύσεις.
Προφανώς η παραπάνω μέθοδς δεν μπορεί να παράγει κάθε δυνατή λύση αφού (λογικά) υπάρχουν λύσεις που δεν διαπενούν τη κάθε κλάση με τη μία.
Φιλικά,
Βαγγέλης
> "Bill K." wrote:
>
> Παιδιά σόρρυ, αλλά ούτε αυτή τη λύση τη θυμάμαι... (την είχαμε βρει
> κάποτε στο σχολείο αλλά... πάει..!)
>
> Έχουμε ένα τετράγωνο 10x10. Σκοπός μας είναι να το γεμίσουμε τα 100
> τετραγωνάκια του με νούμερα από το 1 μέχρι το 100. Η τοποθέτηση
> γίνεται ως εξής.
> 1. Αρχίζουμε με το νούμερο 1 στη πάνω αριστερή γωνία του τετραγώου.
> 2. Τον επόμενο αριθμό τον βάζουμε ακολουθώντας τους κανόνες :
> -> Μπορούμε να μετακινηθούμε απο το τετράγωνο που είμαστε (δηλ που
> βάλαμε το 1) είτε οριζόντια/κάθετα είτε διαγώνια.
> -> ν κινηθούμε οριζόντια/κάθετα "πηδάμε" δυο τετραγωνάκια και
> βάζουμε το επόμενο νούμερο (δηλ το 2) στο 3ο τετραγωνάκι.
> -> Αν κινηθούμε διαγώνια "πηδάμε" ένα τετραγωνάκι και βάζουμε το
> επόμενο νούμερο στο 2ο διαγώνια.
> -> Δεν μπορούμε να "πατήσουμε" σε ένα τετραγωνάκι δυο φορές, δηλ
> να βάλουμε δυο αριθμούς στο ίδιο τετραγωνάκι.
> -> Αν δε μπορούμε να κινηθούμε απο τη θέση που είμαστε, απλά
> αποτύχαμε....!!
> 3. Συνεχίζουμε με τον ίδιο τρόπο μέχρι να "φυλακιστούμε" ή να βάλουμε
> το 100!!!
>
> Αυτά και καλή επιτυχία...
>
> (Οι προγραμματιστές της παρέας δεν θα "παρεξηγηθούν" καθόλου αν
> χρησιμοποιήσουν κάποιο προγραμματάκι για την ανεύρεση του περιβόητου
> "τετραγώνου", απ' ότι θυμάμαι, είχα βγάλει ένα 8x8 με ένα απλό
> προγραμματάκι Turbo Pascal (πού να βάλω C στον 386 που είχα!!) που
> απλά έψαχνε στην τύχη και το είχε βρει μετά απο 35000 περίπου
> προσπάθειες) το οποίο και παραθέτω σαν ένα ολοκληρωμένο παράδειγμα....
>
> Να είστε καλά,
> Βασίλης. ( billk97(@)otenet.gr )
Quiz of the Day ... Ελληνική Λίστα με σπαζοκεφαλιές ... και άλλα ... Πληροορίες --> https://anekdota.duckdns.org/quiz_list.html
- Next message: George (@)nagnostopoulos: "Re: Quiz...Το μαγικό τετράγωνο 10χ10"
- Previous message: Haido Drakou: "ΛΥΣΗΣΗΜΕΙΑ ΤΗΣ ΓΗΣ"
- Maybe in reply to: George (@)nagnostopoulos: "Re: Quiz...Το μαγικό τετράγωνο 10χ10"
- Next in thread: Panos Herdelesis: "Μαγικά τετράγωνα"
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ] [ attachment ]
- Mail actions: [ respond to this message ] [ mail a new topic ]