Αποστολέας Θέμα: Πρωτότυπη άσκηση ΑΕΠΠ "Γρήγορη Διέξοδος" (Εκτός λογικής πανελληνίων)  (Αναγνώστηκε 876 φορές)

Delta2000

  • Νέος
  • *
  • Μηνύματα: 9
Γεια σας συνάδελφοι  ;D Μετά από καιρό επέστρεψα για να μοιραστώ μαζί σας μια άσκηση που έφτιαξα τον τελευταίο καιρό "παίζοντας" με την ΓΛΩΣΣΑ. Η εκφώνηση βρίσκεται στα συννημένα. Θέλω να πω ότι η εκφώνηση δεν δίνει αρκετά στοιχεία που διευκολύνουν τη λύση της άσκησης αντιθέτως προσπαθεί να την δυσκολέψει. Το έκανα αυτό ώστε ο καθένας που θα μπει στον κόπο να λύσει την άσκηση να μπει στο πετσί του ρόλου που πραγματικά έχει ένας προγραμματιστής και να προσπαθήσει να λύσει το πρόβλημα με δική του πρωτότυπη σκέψη παρ'όλους τους περιορισμούς που υπάρχουν. Θα ανεβάσω την λύση μου σε λίγες μέρες η εφόσον δω κάποιο συνάδελφο να αναρτεί πρώτα τη δική του :) Όποια απορία ή ασάφεια πιστεύετε ότι υπάρχει στην άσκηση μην διστάσετε να επικοινωνήσετε ;D

bugman

  • Δεινόσαυρος
  • *****
  • Μηνύματα: 279
  • The Bug Eater
    • Πληροφορική Προγραμματισμός
Το κοίταξα λίγο
Αν το Χ παίρνει τιμές από 1 έως 8 και το Υ από 1 έως 7 τότε ο παρακάτω τύπος δίνει τον αριθμό κινήσεων
(8-Y)*2-Α_Τ(8-X-Y) mod 2


Πχ
Ο παίκτης 1 βάζει το πιόνι στην γραμμή 2 και στη θέση 3, δηλαδή Χ=3 και Υ=2
(8-2)*2-Α_Τ(8-3-2) mod 2
ή
12-Α_Τ(3) mod 2
ή
12-1
ή
11 κινήσεις
Ο παίκτης 2 βάζει το πιόνι του στη 2η γραμμή και στη θέση 6
(8-2)*2-Α_Τ(8-6-2) mod 2
ή
12-Α_Τ(0) mod 2
ή
12-0
ή
12 κινήσεις

Άρα σε κάθε γραμμή αυτό που μειώνει τις κινήσεις είναι το Α_Τ(8-X-Y) mod 2 να δίνει 1, και φυσικά το όνομα ενός παίκτη να ταξινομείται πρώτο για να πάρει θέση πρώτος.

Το Α_Τ() δεν χρειάζεται αν το υπόλοιπο το δίνει πάντα θετικό η συνάρτηση mod, αλλά εδώ μπήκε για να λειτουργεί η συνάρτηση πάντα με θετικούς.





gthal

  • Ομάδα διαγωνισμάτων 2017
  • *
  • Μηνύματα: 879
Μου φαίνεται ότι το ταμπλώ δεν έχει εκπλήξεις (εκτός αν δεν το παρατήρησα αρκετά, οπότε διορθώστε με)

Νομίζω λοιπόν ότι ο Γιαννάκης θα κερδίσει αν ξεκινήσει από κελί με  βέλος προς τα κάτω, και αυτά είναι τα κελιά όπου το i+j είναι περιττός ( (i+j)mod2=1 ), γιατί τότε κερδίζει μία κίνηση. Για να κερδίσει λοιπόν και στην περίπτωση ισοπαλίας, θα πρέπει να διαλέξει το αριστερότερο κελί της γραμμής εκκίνησης, στο οποίο συμβαίνει το παραπάνω.

bugman: νομίζω πιο απλά, ότι οι κινήσεις του θα είναι 2*(8-i) αν ξεκινάει από οριζόντιο βέλος, ενώ θα είναι 2*(8-i)-1 αν ξεκινάει από κάθετο βέλος, σωστά;

Τώρα, αν θέλει να φτιάξει το πρόγραμμα ο Γιαννάκης, νομίζω ότι ίσως διαπιστώσει πως ούτε ο 2διάστατος πίνακας με τις 2 μοναδικές τιμές τού χρειάζεται, αν παρατηρήσει ότι αρκεί να αποθηκεύσει (σε μονοδιάστατο με 2 μοναδικές τιμές) για κάθε γραμμή την πληροφορία αν η κατεύθυνση της είναι αριστερά ή δεξιά (με εξαίρεση το τελευταίο κελί κάποιων γραμμών όπου η κίνηση πρέπει να αντιστραφεί γιατί δεν πάει δεξιότερα).
Ακόμα περισσότερο, ίσως παρατηρήσει ότι ούτε ο μονοδιάστατος χρειάζεται, αφού όλες οι γραμμές κινούνται προς τα δεξιά, εκτός της 4ης
Έχουμε λοιπόν ότι :
Αν (i+j)mod2=1 κινείται προς τα κάτω
Διαφορετικά
  Αν i=4 ή (i<>4  και j=8) τότε κινείται αριστερά
  Αλλιώς κινείται δεξιά
Φιλικά,
Γιώργος Θαλασσινός

Κωστας τζιαννης

  • Δεινόσαυρος
  • *****
  • Μηνύματα: 178
παρακατω κατι εκανα
« Τελευταία τροποποίηση: 24 Μάι 2018, 05:42:02 πμ από Κωστας τζιαννης »

Κωστας τζιαννης

  • Δεινόσαυρος
  • *****
  • Μηνύματα: 178
 ξαναειδα λιγο την ασκηση.παρατηρησα τα εξης:
αν καποιοι παιχτες εχουν τα πιονια τους σε οποιαδηποτε θεση με βελακι αριστερα ή δεξια χρειαζονται τον ιδιο αριθμο κινησεων για να φτασουν στην 8η γραμμη.
ακομα ο καθενας κανει συνολικες αριστερες+δεξιες κινησεις=ιδιο για αυτους τους παιχτες.το ιδιο συμβαινει αν καποιοι παιχτες εχουν τα πιονια τους σε θεσεις με το βελακι κατω.σε σχεση με καποιον που εχει το πιονι του σε αριστερο η δεξιο βελος ,αυτοι βγαινουν μια κινηση πιο γρηγορα.που σημαινει οτι το κριτηριο της ισοβαθμιας με τις συνολικες αριστερες+δεξιες κινησεις δεν παιζει κανεναν ρολο και το μονο κριτηριο που παιζει ρολο ειναι αυτο της min θεσης.αν δεν μου ξεφυγε κατι ειναι πολυ πιο ευκολο απο οτι φαινεται με την πρωτη ματια και η δυσκολια ειναι μονο στην παρατηρηση του ταμπλο.αρα εχω τις εξης περιπτωσεις
1)μονο ενας παιχτης εχει το πιονι του σε θεση με το βελακι προς τα κατω.αυτος ειναι και ο νικητης
2)2 η περισσοτεροι παιχτες εχουν το πιονι τους σε θεση με το βελακι προς τα κατω.στην περιπτωση αυτη νικητης ειναι αυτος που εχει το πιονι του στη μικροτερη
θεση με βελακι κατω
3)κανεις δεν εχει πιονι σε θεση με βελακι κατω.στην περιπτωση αυτη νικητης ειναι αυτος που εχει το πιονι του στη μικροτερη θεση
« Τελευταία τροποποίηση: 30 Μάι 2018, 03:03:40 πμ από Κωστας τζιαννης »

Κωστας τζιαννης

  • Δεινόσαυρος
  • *****
  • Μηνύματα: 178
« Τελευταία τροποποίηση: 30 Μάι 2018, 03:03:26 πμ από Κωστας τζιαννης »