Σελίδα 2 από 3

Re: Ντου Ιτ Γιορσελφ

Δημοσιεύτηκε: Παρ Σεπ 11, 2009 9:11 pm
από chris
thetrojan01 έγραψε:καθημερινής χρήσης; τι λες για κωλόχαρτο; (χαρτί υγείας οκ οκ)
Οκ... Task κωλόχαρτο

Κάποιος χρησμιποιεί Ν (0<Ν<1000) ρολά χαρτιού υγείας τον μήνα. Υπάρχουν Μ (0<Ν<10000) διαφορετικά πακέτα χαρτιου υγείας, το καθένα με διαφορετική τιμή και αριθμό ρολών. Υπάρχει ένας περιορισμένος αριθμός πακέτων, που μπορεί να διαφέρει από πακέτο σε πακέτο. Επειδή όμως το χαρτί υγείας είναι αγαθό που χρειάζονται όλοι, μετά από κάθε αγορά όλα τα πακέτα μειώνονται κατά ένα.

Γράψτε ένα πρόγραμμα που θα εκτυπώνει ως έξοδο το μικρότερο αριθμό χρημάτων που μπορούν να ξοδευτούν για την αγορά χαρτιου υγείας;

Παράδειγμα:
Ν = 10, Μ = 4
Πακέτο 1, τιμή 12, ρολά 2, αριθμός 3
Πακέτο 2, τιμή 14, ρολά 19, αριθμός 1

κτλ

Re: Ντου Ιτ Γιορσελφ

Δημοσιεύτηκε: Παρ Σεπ 11, 2009 10:21 pm
από thetrojan01
Δεν καταλαβαίνω κάποια στοιχεία που δίνεις. Θα τα πούμε από ΜΣΝ γιατί μου έδωσες μια ιδέα! Αρκετές μη σου πω...

Αν μπορείς εξήγησέ το καλύτερα εδώ, αν και θα σου πρότεινα να ξαναζωνανέψει το φόρουμ στις 21, που αρχίζει ο 22ΠΔΠ :) Τώρα είμαστε εδώ μόνο εγώ εσύ ο Στάθης και ο Νίκος.

Re: Ντου Ιτ Γιορσελφ

Δημοσιεύτηκε: Σάβ Σεπ 12, 2009 12:54 am
από chris
Λοιπόν το πρόβλημα είναι:

Εύκολο πρόβλημα:
Ο κύριος παπαδόπουλος χρησιμοποιεί Ν ρολά χαρτιού υγείας τον μήνα.
Στο παντωπολείο από το οποίο αγοράζει το χαρτί έχει Μ μάρκες χαρτιών υγείας.
Η κάθε μάρκα προσφέρει ένα πακέτο από Μ(R) ρολά στην τιμή Μ(P).
Το παντωπολείο όμως έχει έναν συγκεκριμένο αριθμό πακέτων από κάθε μάρκα που μπορούν να αγοραστούν. Μ(Q)

Δίνετε ο αριθμός Ν, Μ , και έπειρα Μ σειρές όπου η κάθε μία έχει 3 αριθμούς, R, P και Q. Να γράψετε ένα πρόγραμμα που θα βρίσκει το μικρότερο δυνατό ποσό πληρωμής για Χ μήνες.

Δύσκολο πρόβλημα:
Το ίδιο με το προγούμενο, μόνο που τώρα κάθε μήνα τα διαθέσιμα πακέτα κάθε εταιρίας μειόνονται κάτα Μ(C).

GO!

Re: Ντου Ιτ Γιορσελφ

Δημοσιεύτηκε: Σάβ Σεπ 12, 2009 5:46 pm
από kernelpanic
Δηλαδή το μαγαζί έχει Μ μάρκες, Μ(Q) πακέτα η καθεμιά,Μ(R) ρολά το κάθε πακέτο, Μ(Ρ) η τιμή του κάθε πακέτου;
Και ο κ.Παπαδόπουλος πρέπει να αγοράσει ακριβώς Ν ρολά κάθε μήνα, ακόμη και αν δε τον συμφέρει;
Ή να αγοράσει (<Ν) ρολά, με το λιγότερο δυνατό κόστος;
Διαθέτει ένα όριο χρημάτων κάθε μήνα;
Κι αν δε βγαίνει με το όριο; :oops:

Περιορισμοί;

Re: Ντου Ιτ Γιορσελφ

Δημοσιεύτηκε: Σάβ Σεπ 12, 2009 8:30 pm
από chris
Ναί, το πρόβλημα έχει κάποια κενά:)
@ κερνελπάνικ: τουλάχιστον Ν ρόλα το μήνα, στην μικρότερη δυνατή τιμή για Χ μήνες.

Παρατήρηση 1: Δεν μπορείς να αγοράσεις μόνο ένα ρολό, πρέπει να πάρεις όλο το πακέτο.
Παρατήρηση 2: Ο Παπαδόπουλος πρέπει να αγοράζει τουλάχιστον Ν ρολά κάθε μήνα για Χ μήνες.
Παρατήρηση 3: Το μαγαζί ανοίγει κάθε 1η του μήνα για μια μόνο μέρα, σε εκείνη την ημέρα ο κ. Παπαδόπουλος πρέπει να κάνει τις αγορές του.
Παρατήρηση 4: Ο κύριος παπαδόπουλος έχει μια αποθήκη που χοράει μόνο Α ρολά, δηλαδή αν χωράει 5 ρολά και εσύ πάρεις 6 το 1 θα το πετάξει γιατί δεν χωράει. Τον επόμενο μήνα μπορεί πάλι να γεμίσει την αποθήκη του, αφού θα έχει καταναλώσει Ν ρολά.

Edit: Δεν έλυσα το πρόβλημα (ακόμη, έχω καεί με multithreading τελευταία) ούτε το αντέγραψα από πουθενά, οπότε δεν μπορώ να ββάλω περιορισμό χρόνο, άλλα ας πούμε 5 σεκοντς και 1 μέγκα.

Ακόμα ένα edit:
Δεν έχει περιορισμό στα χρήματα, είναι ζάμπλουτος, τσιγκούναρος, και
Spoiler: show
χεσταράς :P

Re: Project Kwloxarta

Δημοσιεύτηκε: Σάβ Σεπ 12, 2009 8:58 pm
από kernelpanic
+1 chris :)

Στο εύκολο, το μαγαζί ξαναγεμίζει κάθε μήνα στις αρxικές τιμές;
Αν αγοράσει Α>=(χαρτιά)>Ν , τα ρολά που περισσεύουν μένουν για τον άλλο μήνα;(Ή τα κλέβουν οι καημένοι που δεν έχουν να πληρώσουν; :P )
Ανεβαίνει και η τιμή τους λόγω ζήτησης;(Τό'χω δει σε ένα είδος worms, όποτε αγοράσεις κάτι, ανάμεσα στους γύρους η τιμή του ανεβαίνει, λολ)
Περιορισμοί για τις μεταβλητές;(Υπάρχουν;)

Multithreading? WTF?? :shock:

Re: Ντου Ιτ Γιορσελφ

Δημοσιεύτηκε: Κυρ Σεπ 13, 2009 11:20 am
από chris
Όχι δεν ξαναγεμίζει. Οι τιμές είναι πάντα ίδιες.
Δεν περισέυουν. Όλα τα παραπάνω που δεν χωράνε στην αποθήκη πάνε στην unicef. :P
Άσε την τιμή όπως είναι, γιατί θα γίνει σαλάτα του σεφ... Σταθερή μένει.
Περιορισμοί; ναι όλες οι μεταβλητές 0<Ν,Μ κτλ.<10000000000000000000000 :P

Multithreading, ναι:)
Έκανα μια τρίλιζα με γραφικά, και τώρα της βάζω και multithreading :P. Μετά φυσικά ονειρεύομαι να βάλω και multiplayer, saves κτλ. xD

Re: Ντου Ιτ Γιορσελφ

Δημοσιεύτηκε: Κυρ Σεπ 27, 2009 3:31 pm
από kernelpanic
chris έγραψε: Περιορισμοί; ναι όλες οι μεταβλητές 0<Ν,Μ κτλ.<10000000000000000000000 :P
Δ...δηλαδη πρεπει να φτιαξουμε καινουρια data types??

Και για όσους λατρεύουν τους γράφους...

Δημοσιεύτηκε: Πέμ Μάιος 27, 2010 9:45 pm
από kernelpanic
ΓΕΦΥΡΟΡΑΜΑ

Είναι αρχές Δεκέμβρη 2012 και η άφιξη του πλανήτη Χ έχει ήδη αρχίσει να προκαλεί εντυπώσεις.
Στο αρχιπέλαγος-κρατίδιο ΜήτσοLand της Ωκεανίας, για παράδειγμα, οι διάφορες βραχονησίδες που το απαρτίζουν αλλάζουν εντελώς θέση κάθε Τρίτη 5 το πρωί, και δε μένει τίποτα από το "Γεφυρόραμα"®, το πολύπλοκο οδικό σύστημα, καμάρι και αξιοθέατο της ΜήτσοLand. Αυτό κι αν είναι εντύπωση. :P

Ως νεοεκλεχθείς υπουργός μεταφορών της ΜήτσοLand ο Κίτσος έχει ως μοναδική του απασχόληση την εβδομαδιαία ανακατασκευή των γεφυρών. Και καθώς είναι η μοναδική του απασχόληση, δεν έχει καμία δικαιολογία αν δε βάλει να ξαναφτιάξουν τις γέφυρες εγκαίρως.(πρίν την άλλη Τρίτη δηλαδή :mrgreen: )

Θα καταφέρει να αποδείξει τις ικανότητες (του υπολογιστή) του, κι αν ναι, για πόσες Τρίτες ακόμη πρίν το τέλος του κόσμου;

Ο σκοπός είναι να συνδέσει όλες τις βραχονησίδες με γέφυρες, έτσι ώστε από κάθε μια να μπορείς να πας σε κάθε άλλη.
Οι γέφυρες είναι διπλής κατευθύνσεως, και δεν πρέπει να τέμνονται μεταξύ τους.
Μπορούν να υπάρξουν μέχρι 2 γέφυρες από το ένα νησάκι στο άλλο.
Κάθε νησάκι πρέπει να έχει τόσες γέφυρες συνδεδεμένες σε αυτό, όσος είναι ο πληθυσμός του ακριβώς.

Αρχείο εισόδου: xarths.txt
Αρχείο εξόδου: gefyres.txt

Παραλλαγή 1

Όλα τα νησάκια είναι τετραγωνάκια παράλληλα στους άξονες x,y.
Οι γέφυρες είναι επίσης παράλληλες στους άξονες x,y.

Στην είσοδο δίδονται:
  • To μέγεθος x του χάρτη
  • Κενό
  • Μετά το μέγεθος y του χάρτη
  • Αλλαγή γραμμής
  • Μετά ένας πίνακας χαρακτήρων, του οποίου κάθε σειρά τερματίζεται με αλλαγή γραμμής.
Οι χαρακτήρες που δίδονται μπορεί να είναι:
  • τελεία για θάλασσα
  • οποιοδήποτε δεκαδικό ψηφίο: νησί, με τον πληθυσμό που αναγράφεται
Η έξοδος θα πρέπει να είναι το σύνολο των γεφυρών που χρειάζονται.
  • Ο αριθμός των γεφυρών μεταξύ βραχονησίδων.
  • Σειρά από γραμμές μοναδικών μεταξύ τους γεφυρών, με μορφή:

    Κώδικας: Επιλογή όλων

    (x1,y1)-(x2,y2) -
    
    αν η σύνδεση είναι απλή, και

    Κώδικας: Επιλογή όλων

    (x1,y1)-(x2,y2) =
    
    αν είναι διπλή.
Οι συντεταγμένες αρχίζουν από το σημείο (1,1) πάνω αριστερά, και είναι πάντα ακέραιες.
Αν δυο νησάκια είναι το ένα πλάι στο άλλο, και πάλι χωρίζονται από θάλασσα.
Δε μας νοιάζει ιδιαίτερα το κόστος ακόμη. Εργάτες και λεφτά υπάρχουν σε περίσσεια.

Παράδειγμα εισόδου:

Κώδικας: Επιλογή όλων

7 7
4.3.3.3
.2...4.
3..3..3
.......
2..8.4.
....1.3
.1.4..1

Παράδειγμα εξόδου:

Κώδικας: Επιλογή όλων

26
(1,1)-(3,1) =
(5,1)-(3,1) -
(1,1)-(1,3) =
(5,1)-(7,1) =
(7,3)-(7,1) -
(7,3)-(7,6) =
(4,3)-(1,3) -
(4,3)-(4,5) =
(1,5)-(4,5) =
(4,7)-(4,5) =
(6,5)-(4,5) =
(6,5)-(6,2) =
(2,2)-(6,2) =
(4,7)-(2,7) -
(4,7)-(7,7) -
(5,6)-(7,6) -

Παραλλαγή 2 coming soon...

Λεξόφιδα

Δημοσιεύτηκε: Δευ Οκτ 11, 2010 10:22 pm
από kernelpanic
ΛΕΞΟΦΙΔΑ

Ένα «λεξόφιδο» είναι μια ακολουθία λέξεων, στην οποία κάθε λέξη αρχίζει από το τελευταίο γράμμα της τελευταίας. Προφανώς υπάρχουν 2 γράμματα που έχουν ειδική σημασία: η «αρχή» του λεξόφιδου , το πρώτο γράμμα της πρώτης λέξης, και το «τέλος» του λεξόφιδου, το τελευταίο γράμμα της τελευταίας λέξης.

Ένα λεξόφιδο μπορεί να αποτελείται από και μία μόνο λέξη.

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

Γράψε αλγόριθμο που, έχοντας ως παραμέτρους το γράμμα «αρχή», το γράμμα «τέλος», και το σύνολο λέξεων, να δίνει ως αποτέλεσμα το μέγιστο αριθμό λεξοφίδων που μπορούν να σχηματιστούν με αυτήν την «αρχή» και αυτό το «τέλος», χωρίς να χρησιμοποιείται η ίδια λέξη σε δυο διαφορετικά (ή το ίδιο) λεξόφιδα, καθώς και το ποιά μπορεί να είναι είναι αυτά τα λεξόφιδα.

Η ίδια λέξη μπορεί να υπάρχει στο σύνολο δυο και πάνω φορές. Δεν έχει σημασία: δε μπορείς να τη ξαναχρησιμοποιήσεις.
Spoiler: show
Κόπιραϊτ 2010-2990 Σωτήρης Παναγιώτου :D

Re: Λεξόφιδα

Δημοσιεύτηκε: Τρί Οκτ 12, 2010 9:38 am
από pman
kernelpanic έγραψε:ΛΕΞΟΦΙΔΑ

Ένα «λεξόφιδο» είναι μια ακολουθία λέξεων, στην οποία κάθε λέξη αρχίζει από το τελευταίο γράμμα της τελευταίας. Προφανώς υπάρχουν 2 γράμματα που έχουν ειδική σημασία: η «αρχή» του λεξόφιδου , το πρώτο γράμμα της πρώτης λέξης, και το «τέλος» του λεξόφιδου, το τελευταίο γράμμα της τελευταίας λέξης.

Ένα λεξόφιδο μπορεί να αποτελείται από και μία μόνο λέξη.

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

Γράψε αλγόριθμο που, έχοντας ως παραμέτρους το γράμμα «αρχή», το γράμμα «τέλος», και το σύνολο λέξεων, να δίνει ως αποτέλεσμα το μέγιστο αριθμό λεξοφίδων που μπορούν να σχηματιστούν με αυτήν την «αρχή» και αυτό το «τέλος», χωρίς να χρησιμοποιείται η ίδια λέξη σε δυο διαφορετικά (ή το ίδιο) λεξόφιδα, καθώς και το ποιά μπορεί να είναι είναι αυτά τα λεξόφιδα.

Η ίδια λέξη μπορεί να υπάρχει στο σύνολο δυο και πάνω φορές. Δεν έχει σημασία: δε μπορείς να τη ξαναχρησιμοποιήσεις.
Spoiler: show
Κόπιραϊτ 2010-2990 Σωτήρης Παναγιώτου :D
Ωραίο προβληματάκι :D , θα το κατέταζα σε κλασσική κατηγορία. Αρκετά εύκολο είναι.

Re: Ντου Ιτ Γιορσελφ

Δημοσιεύτηκε: Τρί Δεκ 14, 2010 7:19 pm
από kernelpanic
ΑΝΑΤΟΚΙΣΜΟΣ
Στις περισσότερες σοβαρές τράπεζες, είναι δυνατό οι καταθέσεις να υπερβούν κατά πολύ το αρχικό τους ποσό.
Γνωρίζοντάς το αυτό, ο Μήτσος ο σχεδιαστής ανελκυστήρων, με βλέμμα γεμάτο απληστία, ανεβαίνει το κεφαλόσκαλο της Ντολφίν Μπάνκ για να καταθέσει το κομπόδεμα που τα τελευταία 40 χρόνια κρατούσε σε μια δικής του επινόησης τεθωρακισμένη κασέλα.
Αν και ξέρει ότι κάποτε τα λεφτά που σήμερα κατέθεσε στην τράπεζα θα γίνουν τα διπλάσια. Αλλά πότε;
Γράψτε εσείς έναν αλγόριθμο που παίρνει ως είσοδο το ποσό που ο Μήτσος κατέθεσε, το επιτόκιο με το οποίο τα λεφτά του τοκίζονται, και το κάθε πότε τοκίζονται, και λέει σε πόσο χρόνο θα διπλασιαστεί η κατάθεσή του στην τράπεζα, καθώς τελευταία φορά που ο Μήτσος προσπάθησε να χειριστεί υπολογιστή κατάφερε να κάψει τη διπλανή πολυκατοικία.

Re: Ντου Ιτ Γιορσελφ

Δημοσιεύτηκε: Τετ Δεκ 15, 2010 2:02 pm
από thetrojan01
Dolphin Bank :lol:

Ο χρόνος ανατοκισμού σε μέρες;
Αν δε διπλασιάζεται καμία j μέρα, να βρίσκουμε τον ελάχιστο χρόνο που το ποσό ξεπερνά το διπλάσιο του αρχικού κεφαλαίου; ;)
------
Spoiler: show
[pastebin]http://pastebin.com/9eJ8bCcZ[/pastebin]
Νομίζω δουλεύει για τα παραπάνω. Ο(Ν) θαρρώ.

Re: Ντου Ιτ Γιορσελφ

Δημοσιεύτηκε: Τετ Δεκ 15, 2010 3:33 pm
από kernelpanic
thetrojan01 έγραψε:Dolphin Bank :lol:
Ο χρόνος ανατοκισμού σε μέρες;
Αν δε διπλασιάζεται καμία j μέρα, να βρίσκουμε τον ελάχιστο χρόνο που το ποσό ξεπερνά το διπλάσιο του αρχικού κεφαλαίου; ;)
Νομίζω δουλεύει για τα παραπάνω. Ο(Ν) θαρρώ.
Παρά το μάλλον παράξενο προσωποκό της, η Ντολφίν δουλεύει όπως οι περισσότερες γνωστές τράπεζες: τοκίζει στιγμιαία το ποσό της κάθε Ν εργάσιμες. (Κάθε Τετάρτη είναι κλειστά επειδή αλλάζουν το νερό)

Αν έχεις όρεξη, βρες τις ημέρες συνολικά, μαζί με τις αργίες.

Προφανώς, είναι μάλλον απίθανο να διπλασιαστεί το ποσό ακριβώς, οπότε το ζητούμενο είναι σε πόσες μέρες ποσό>=2*αρχικό.
Spoiler: show
Ο αλγόριθμός σου είναι περίπου log2, μπορεί να υπάρχει και λύση σε Ο(1), αλλά δε παίρνω κι όρκο.

Re: Ντου Ιτ Γιορσελφ

Δημοσιεύτηκε: Τετ Δεκ 15, 2010 4:07 pm
από kernelpanic
ΕΝΤΙΤ:
Το επιτόκιο μπορεί να είναι αρνητικό, και να μη πάρεις ποτέ τα λεφτά σου πίσω.
ΕΝΤΙΤ 2:
Spoiler: show
Να κι η μαθηματική λύση:
μέρες=(int)ceil(ln(2)/ln(1.0+επιτόκιο))

Re: Ντου Ιτ Γιορσελφ

Δημοσιεύτηκε: Σάβ Δεκ 18, 2010 2:17 pm
από userresu
Αυτός ο τύπος δε θα ίσχυε αν το ποσό τοκιζόταν κάθε μέρα; ;)

Re: Ντου Ιτ Γιορσελφ

Δημοσιεύτηκε: Σάβ Δεκ 18, 2010 6:23 pm
από kernelpanic
Όπου "μέρα" το κάθε χρονικό κβάντο(ή περίοδος τοκισμού) :)

Re: Ντου Ιτ Γιορσελφ

Δημοσιεύτηκε: Τρί Ιαν 04, 2011 8:07 pm
από kernelpanic
ΚΩΔΙΚΟΛΕΞΟ
Το Κωδικόλεξο είναι ένα είδος σταυρολέξου στο οποίο κάθε γράμμα αντικαθίσταται από έναν αριθμό και ο λύτης, γνωρίζοντας 3 ή 4 γράμματα, προσπαθεί να βρει σε ποιούς αριθμούς πρέπει να αντιστοιχίσει τα γράμματα έτσι ώστε να προκύψει ένα σταυρόλεξο με λέξεις στα Ελληνικά, και όχι στα Δελφινέζικα για παράδειγμα.

Πάρε μια πολύ μεγάλη αταξινόμητη λίστα λέξεων(>1000000)που είναι το λεξικό του συγγραφέα σε συντομευμένη μορφή και το κωδικόλεξο(>128χ128)που πρέπει να λύσεις, και βγάλε όλες τις πιθανές λύσεις.

Κάθε κωδικόλεξο πρέπει να περιέχει μόνο μία φορά όποια λέξη έχει.

Είσοδος-έξοδος με όποιον τρόπο σας βολέυει, αλλά όχι περισσότερες βοήθειες εισόδου από την αταξινόμητη λίστα με τις λέξεις, ένα σύμβολο τερματισμού της, και έναν πίνακα με αριθμούς κι αστεράκια * για τα μαυρισμένα τετράγωνα.

Είσοδος επίσης είναι μια 3-4γράμματη λέξη και η αναπαράστασή της σε κωδικούς γραμμάτων.
Είσοδος-έξοδος με γιούζερ φρέντλι τρόπο για όσους έχουν μεράκι ;)

Re: Ντου Ιτ Γιορσελφ

Δημοσιεύτηκε: Τρί Ιαν 04, 2011 9:48 pm
από chris
Ωραίο πρόβλημα. Για είσοδο επίσης θα παίρνουμε και τα 3-4 γράμματα με τους αριθμούς στους οποίους αντιστοιχούν, έτσι;

Re: Ντου Ιτ Γιορσελφ

Δημοσιεύτηκε: Τετ Ιαν 05, 2011 8:19 pm
από kernelpanic
chris έγραψε:Ωραίο πρόβλημα. Για είσοδο επίσης θα παίρνουμε και τα 3-4 γράμματα με τους αριθμούς στους οποίους αντιστοιχούν, έτσι;
Έχω κάνει κάμποσα λαθάκια στη διατύπωση, αν μπορεί ο Trojan να τα διορθώσει πλίζ:
  • Στην είσοδο παίρνεις έναν πίνακα με αριθμούς κι αστεράκια, όχι τελίτσες κι αστεράκια.
  • Είσοδος επίσης είναι μια 3-4γράμματη λέξη και η αναπαράστασή της σε κωδικούς γραμμάτων.
  • Είσοδος-έξοδος με γιούζερ φρέντλι τρόπο για όσους έχουν μεράκι ;)
Spoiler: show
Αλήθεια πώς το ξέρετε αυτό το σταυρόλεξο(όνομα); Το θυμάμαι ως «κρυπτόλεξο» αλλά googlαρα τη λέξη και μου βγάζει αυτό που οι λέξεις είναι κρυμένες σε πίνακα γραμμάτων.