ΖΥ240: Γνκέο Γεδνκέλωλ Φεηκεξηλό Δμάκελν Αθαδεκαϊθό Έηνο 2015-16 Γηδάζθνπζα: Παλαγηώηα Φαηνύξνπ Πξνγξακκαηηζηηθή Δξγαζία - 1 ν Μέξνο

Σχετικά έγγραφα
Αιγόξηζκνη Γνκή επηινγήο. Πνιιαπιή Δπηινγή Δκθωιεπκέλεο Δπηινγέο. Δηζαγωγή ζηηο Αξρέο ηεο Δπηζηήκεο ηωλ Η/Υ. introcsprinciples.wordpress.

B-Δέλδξα. Τα B-δέλδξα ρξεζηκνπνηνύληαη γηα ηε αλαπαξάζηαζε πνιύ κεγάισλ ιεμηθώλ πνπ είλαη απνζεθεπκέλα ζην δίζθν.

Άσκηση 1 - Μοπυοποίηση Κειμένου

Έκδοζη /10/2014. Νέα λειηοσργικόηηηα - Βεληιώζεις

Δπηιέγνληαο ην «Πξνεπηινγή» θάζε θνξά πνπ ζα ζπλδέεζηε ζηελ εθαξκνγή ζα βξίζθεζηε ζηε λέα ρξήζε.

Απαντήσεις θέματος 2. Παξαθάησ αθνινπζεί αλαιπηηθή επίιπζε ησλ εξσηεκάησλ.

ΑΠΑΝΤΗΣΔΙΣ ΓΙΚΤΥΑ ΥΠΟΛΟΓΙΣΤΩΝ II ΔΠΑΛ

Παιχνίδι γλωζζικής καηανόηζης με ζχήμαηα!

Γοκή επαλάιευες Δληοιές Όζο & Μέτρης_όηοσ

Βάσεις Δεδομέμωμ. Εξγαζηήξην V. Τκήκα Πιεξνθνξηθήο ΑΠΘ

ΚΤΠΡΙΑΚΗ ΜΑΘΗΜΑΣΙΚΗ ΕΣΑΙΡΕΙΑ ΜΑΘΗΜΑΣΙΚΗ ΚΤΣΑΛΟΓΡΟΜΙΑ 2007 ΓΙΑ ΣΟ ΓΤΜΝΑΙΟ Παπασκευή 26 Ιανουαπίου 2007 Σάξη: Α Γυμνασίου ΥΟΛΕΙΟ..

ΚΤΠΡΙΑΚΗ ΜΑΘΗΜΑΣΙΚΗ ΕΣΑΙΡΕΙΑ ΜΑΘΗΜΑΣΙΚΗ ΚΤΣΑΛΟΓΡΟΜΙΑ 2007 ΓΙΑ ΣΟ ΓΤΜΝΑΙΟ Παπασκευή 26 Ιανουαπίου 2007 Σάξη: Α Γυμνασίου ΥΟΛΕΙΟ..

ΑΛΛΑΓΗ ΟΝΟΜΑΣΟ ΚΑΙ ΟΜΑΔΑ ΕΡΓΑΙΑ, ΚΟΙΝΟΥΡΗΣΟΙ ΦΑΚΕΛΟΙ ΚΑΙ ΕΚΣΤΠΩΣΕ ΣΑ WINDOWS XP

Ενδεικτικά Θέματα Στατιστικής ΙΙ

Έλαο πίνακας σσμβόλων ππνζηεξίδεη δύν βαζηθέο ιεηηνπξγίεο:

Άμεσοι Αλγόριθμοι: Προσπέλαση Λίστας (list access)

ΦΥΛΛΟ ΕΡΓΑΣΙΑΣ. Οξηδόληηα θαη θαηαθόξπθε κεηαηόπηζε παξαβνιήο

Να ζρεδηάζεηο ηξόπνπο ζύλδεζεο κηαο κπαηαξίαο θαη ελόο ιακπηήξα ώζηε ν ιακπηήξαο λα θσηνβνιεί.

ΚΤΠΡΙΑΚΗ ΜΑΘΗΜΑΣΙΚΗ ΔΣΑΙΡΔΙΑ ΠΑΓΚΤΠΡΙΟ ΓΙΑΓΩΝΙ ΜΟ

iii. iv. γηα ηελ νπνία ηζρύνπλ: f (1) 2 θαη

ΔΕΟ 13. Ποσοτικές Μέθοδοι. θαη λα ππνινγίζεηε ην θόζηνο γηα παξαγόκελα πξντόληα. Να ζρεδηαζηεί γηα εύξνο πξντόλησλ έσο

Μονοψϊνιο. Αγνξά κε ιίγνπο αγνξαζηέο. Δύναμη μονοψωνίος Η ηθαλόηεηα πνπ έρεη ν αγνξαζηήο λα επεξεάζεη ηελ ηηκή ηνπ αγαζνύ.

ΓΗΑΓΩΝΗΣΜΑ ΣΤΑ ΜΑΘΖΜΑΤΗΚΑ. Ύλη: Μιγαδικοί-Σσναρηήζεις-Παράγωγοι Θεη.-Τετν. Καη Εήηημα 1 ο :

Αζθήζεηο 5 νπ θεθαιαίνπ Crash course Step by step training. Dipl.Biol.cand.med. Stylianos Kalaitzis

ΑΠΛΟΠΟΙΗΗ ΛΟΓΙΚΩΝ ΤΝΑΡΣΗΕΩΝ ΜΕ ΠΙΝΑΚΕ KARNAUGH

ΠΑΝΔΛΛΑΓΗΚΔ ΔΞΔΣΑΔΗ Γ ΣΑΞΖ ΖΜΔΡΖΗΟΤ ΓΔΝΗΚΟΤ ΛΤΚΔΗΟΤ Γευηέρα 11 Ηουνίου 2018 ΔΞΔΣΑΕΟΜΔΝΟ ΜΑΘΖΜΑ: ΜΑΘΖΜΑΣΗΚΑ ΠΡΟΑΝΑΣΟΛΗΜΟΤ. (Ενδεικηικές Απανηήζεις)

ΚΤΠΡΙΑΚΗ ΜΑΘΗΜΑΣΙΚΗ ΕΣΑΙΡΕΙΑ ΜΑΘΗΜΑΤΙΚΗ ΣΚΥΤΑΛΟΓΡΟΜΙΑ 2015 ΓΙΑ ΤΟ ΓΥΜΝΑΣΙΟ Τεηάπηη 28 Ιανουαπίου 2015 ΛΔΥΚΩΣΙΑ Τάξη: Α Γυμναζίου

Αζκήζεις ζτ.βιβλίοσ ζελίδας 13 14

H ΜΑΓΕΙΑ ΤΩΝ ΑΡΙΘΜΩΝ

ΘΔΜΑ 1 ο Μονάδες 5,10,10

Διαηιμήζεις για Αιολικά Πάρκα. Κώδικες 28, 78 και 84

ΒΗΜΑ 2. Εηζάγεηε ηνλ Κωδηθό Πξόζβαζεο πνπ ιακβάλεηε κε SMS & δειώλεηε επηζπκεηό Όλνκα Πξόζβαζεο (Username) θαη ην ζαο

ΓΙΑΙΡΔΣΟΣΗΣΑ. Οπιζμόρ 1: Έζηω d,n. Λέκε όηη ν d δηαηξεί ηνλ n (ζπκβνιηζκόο: dn) αλ. ππάξρεη c ηέηνην ώζηε n. Θεώπημα 2: Γηα d,n,m,α,b ηζρύνπλ:

f '(x)g(x)h(x) g'(x)f (x)h(x) h'(x) f (x)g(x)

ΚΤΠΡΙΑΚΗ ΜΑΘΗΜΑΣΙΚΗ ΔΣΑΙΡΔΙΑ ΠΑΓΚΤΠΡΙΟ ΓΙΑΓΩΝΙΜΟ Α ΛΤΚΔΙΟΤ. Ημεπομηνία: 10/12/11 Ώπα εξέτασηρ: 09:30-12:30 ΠΡΟΣΔΙΝΟΜΔΝΔ ΛΤΔΙ

(Ενδεικηικές Απανηήζεις) ΘΔΜΑ Α. Α1. Βιέπε απόδεημε Σει. 262, ζρνιηθνύ βηβιίνπ. Α2. Βιέπε νξηζκό Σει. 141, ζρνιηθνύ βηβιίνπ

ΠΑΝΔΛΛΑΓΗΚΔ ΔΞΔΣΑΔΗ Γ ΣΑΞΖ ΖΜΔΡΖΗΟΤ ΓΔΝΗΚΟΤ ΛΤΚΔΗΟΤ ΚΑΗ ΔΠΑΛ ΣΔΣΑΡΣΖ 25 ΜΑΨΟΤ 2016 ΔΞΔΣΑΕΟΜΔΝΟ ΜΑΘΖΜΑ: ΑΡΥΔ ΟΗΚΟΝΟΜΗΚΖ ΘΔΧΡΗΑ ΠΡΟΑΝΑΣΟΛΗΜΟΤ - ΔΠΗΛΟΓΖ

Case Study. Παξαθάηω παξνπζηάδνπκε βήκα - βήκα κε screenshots έλα παξάδεηγκα ππνβνιήο κηαο εξγαζίαο θαη ηελ παξαγωγή ηνπ Originality Report.

ΚΕΦ. 2.3 ΑΠΟΛΤΣΗ ΣΘΜΗ ΠΡΑΓΜΑΣΘΚΟΤ ΑΡΘΘΜΟΤ

Κευάλαιο 8 Μονοπωλιακή Συμπεριφορά- Πολλαπλή Τιμολόγηση

ΖΥ240: Γομέρ Γεδομένυν Δαπινό Δξάμηνο Ακαδημαφκό Έηορ Γιδάζκοςζα: Παναγιώηα Φαηούπος Ππογπαμμαηιζηική Δπγαζία - 1 ο Μέπορ

6 η Εργαζηηριακή Άζκηζη Επαλήθεσζη Λειηοσργίας Βαζικών Φλιπ-Φλοπ

ΕΓΧΕΙΡΙΔΙΟ ΕΚΔΟΗ 8.0.0

Α. Εηζαγσγή ηεο έλλνηαο ηεο ηξηγσλνκεηξηθήο εμίζσζεο κε αξρηθό παξάδεηγκα ηελ εκx = 2

ΣΕΙ Δυτικήσ Μακεδονίασ, Παράρτημα Καςτοριάσ Τμήμα Πληροφορικήσ και Τεχνολογίασ Υπολογιςτών

Ζαχαρίας Μ. Κοντοπόδης Εργαστήριο Λειτουργικών Συστημάτων ΙΙ

TOOLBOOK (μάθημα 2) Δεκηνπξγία βηβιίνπ θαη ζειίδσλ ΠΡΟΑΡΜΟΓΗ: ΒΑΛΚΑΝΙΩΣΗ ΔΗΜ. ΕΚΠΑΙΔΕΤΣΙΚΟ ΠΕ19 1 TOOLBOOK ΜΑΘΗΜΑ 2

ΕΡΓΑΣΤΗΡΙΑΚΗ ΑΣΚΗΣΗ 4 ΣΥΝΔΥΑΣΤΙΚΑ ΚΥΚΛΩΜΑΤΑ

Μηα ζπλάξηεζε κε πεδίν νξηζκνύ ην Α, ζα ιέκε όηη παξνπζηάδεη ηοπικό μέγιζηο ζην, αλ ππάξρεη δ>0, ηέηνην ώζηε:

Δξγαιεία Καηαζθεπέο 1 Σάμε Σ Δ.Κ.Φ.Δ. ΥΑΝΙΧΝ ΠΡΧΣΟΒΑΘΜΙΑ ΔΚΠΑΙΓΔΤΗ. ΔΝΟΣΗΣΑ 11 ε : ΦΧ ΔΡΓΑΛΔΙΑ ΚΑΣΑΚΔΤΔ. Καηαζθεπή 1: Φαθόο κε ζσιήλα.

Μνλνδηάζηαηνη Πίλαθεο Λπκέλεο Αζθήζεηο. Άζθεζε 1. Πνηά ζα είλαη ηα πεξηερόκελα ηνπ πίλαθα Α κεηά ηελ εθηέιεζε ηνπ παξαθάησ αιγνξίζκνπ;

Τν Πξόγξακκα ζα αλαθνηλσζεί, ακέζσο κεηά ηηο γηνξηέο ηνπ Πάζρα.

ΠΛΗ36. Άσκηση 1. Άσκηση 2. Οη δηεπζύλζεηο ησλ 4 σλ ππνδηθηύσλ είλαη νη αθόινπζεο. Υπνδίθηπν Α: /27 Υπνδίθηπν Β:

x x x x tan(2 x) x 2 2x x 1

ΔΝΓΔΙΚΤΙΚΔΣ ΛΥΣΔΙΣ ΣΤΑ ΜΑΘΗΜΑΤΙΚΑ ΚΑΤΔΥΘΥΝΣΗΣ Γ ΛΥΚΔΙΟΥ ΓΔΥΤΔΡΑ 27 ΜΑΪΟΥ 2013

Άζκηζη ζτέζης κόζηοσς-τρόνοσ (Cost Time trade off) Καηαζκεσαζηική ΑΔ

ΗΥ-150 Πξνγξακκατησκόο Ταμηλόκεσε θαη Αλαδήτεσε

ΛΙΜΝΗ ΤΣΑΝΤ. Σρήκα 1. Σρήκα 2

Q Η ζσνάρηηζη μέζοσ κόζηοσς μας δίνει ηο κόζηος ανά μονάδα παραγωγής. Q Η ζσνάρηηζη μέζοσ κόζηοσς μας δίνει ηο ζηαθερό κόζηος ανά μονάδα παραγωγής

ΣΥΣΤΗΜΑΤΑ ΑΛΓΕΒΡΑ Α ΛΥΚΕΙΟΥ. 1. Να ιπζνύλ ηα ζπζηήκαηα. 1 0,3x 0,1y x 3 3x 4y 2 4x 2y ( x 1) 6( y 1) (i) (ii)

Κεθάλαιο 7. Πξνζθνξά ηνπ θιάδνπ Μ. ΨΥΛΛΑΚΗ

Constructors and Destructors in C++

Σημεία Ασύπματηρ Ππόσβασηρ (Hot-Spots)

ΠΑΝΕΠΙΣΗΜΙΟ ΜΑΚΕΔΟΝΙΑ ΟΙΚΟΝΟΜΙΚΩΝ ΚΑΙ ΚΟΙΝΩΝΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΣΜΗΜΑ ΕΦΑΡΜΟΜΕΝΗ ΠΛΗΡΟΦΟΡΙΚΗ ΣΕΥΝΗΣΗ ΝΟΗΜΟΤΝΗ

Γηζδηάζηαηνη Πίλαθεο

Πολυεπίπεδα/Διασυμδεδεμέμα Δίκτυα

Σήκαηα Β Α Γ Γ Δ Λ Η Σ Ο Ι Κ Ο Ν Ο Μ Ο Υ Γ Ι Α Λ Δ Ξ Η - ( 2 ) ΕΙΣΑΓΨΓΗ ΣΤΙΣ ΤΗΛΕΠΙΚΟΙΝΨΝΙΕΣ

Απνηειέζκαηα Εξσηεκαηνινγίνπ 2o ηεηξάκελν

ΣΕΙ ΙΟΝΙΩΝ ΝΗΩΝ ΣΜΗΜΑ: ΣΕΥΝΟΛΟΓΙΑ ΠΛΗΡΟΦΟΡΙΚΗ ΚΑΙ ΣΗΛΕΠΙΚΟΙΝΩΝΙΩΝ ΥΕΙΜΕΡΙΝΟ ΕΞΑΜΗΝΟ Ρέππα Μαξγαξίηα

ΚΔΦ. 2.4 ΡΗΕΔ ΠΡΑΓΜΑΣΗΚΩΝ ΑΡΗΘΜΩΝ

ΜΑΘΗΜΑ / ΤΑΞΗ : ΗΛΕΚΤΡΟΛΟΓΙΑ/Γ ΛΥΚΕΙΟΥ ΣΕΙΡΑ: ΗΜΕΡΟΜΗΝΙΑ: 08/09/2014

Hellas online Προεπιλεγμένες ρσθμίσεις για FritzBox Fon WLAN 7140 (Annex B) FritzBox Fon WLAN Annex B ( )

Ηλεκηπονικά Απσεία και Διεπαθέρ

Επωηήζειρ Σωζηού Λάθοςρ ηων πανελλαδικών εξεηάζεων Σςναπηήζειρ

ΟΠΤΙΚΗ Α. ΑΝΑΚΛΑΣΖ - ΓΗΑΘΛΑΣΖ

ΔΙΑΓΩΝΙΣΜΑ ΣΤΗ ΦΥΣΙΚΗ. Ύλη: Εσθύγραμμη Κίνηζη

α) ηε κεηαηόπηζε x όηαλ ην ζώκα έρεη κέγηζην ξπζκό κεηαβνιήο ζέζεο δ) ην κέγηζην ξπζκό κεηαβνιήο ηεο ηαρύηεηαο

ΙNCOFRUIT - (HELLAS).

5 η Δργαζηηριακή Άζκηζη Κσκλώμαηα Γσαδικού Αθροιζηή/Αθαιρέηη

ηδάζθσλ: εµήηξεο Εετλαιηπνύξ

Κινητός και Διάχυτος Υπολογισμός (Mobile & Pervasive Computing)

ΑΝΤΗΛΙΑΚΑ. Η Μηκή ζθέθηεθε έλαλ ηξόπν, γηα λα ζπγθξίλεη κεξηθά δηαθνξεηηθά αληειηαθά πξντόληα. Απηή θαη ν Νηίλνο ζπλέιεμαλ ηα αθόινπζα πιηθά:

ΡΤΘΜΙΕΙ ΔΙΚΣΤΟΤ ΣΑ WINDOWS

Διαδικαζία μεηαθοράς δεδομένων Εκκαθαριζηικής για ηο Eιδικό ζημείωμα περαίωζης Φ.Π.Α

Αιγόξηζκνη Δνκή επηινγήο. Απιή Επηινγή ύλζεηε Επηινγή. Εηζαγσγή ζηηο Αξρέο ηεο Επηζηήκεο ησλ Η/Τ. introcsprinciples.wordpress.

ΘΔΚΑ ΡΖΠ ΑΛΑΓΛΩΟΗΠΖΠ

ΔΦΑΡΜΟΜΔΝΑ ΜΑΘΗΜΑΣΙΚΑ ΣΗ ΧΗΜΔΙΑ Ι ΘΔΜΑΣΑ Α επηέκβξηνο Να ππνινγηζηνύλ νη κεξηθέο παξάγσγνη πξώηεο ηάμεο ηεο ζπλάξηεζεο f(x,y) =

ΠΑΡΑΡΣΗΜΑ Δ. ΔΤΡΔΗ ΣΟΤ ΜΔΣΑΥΗΜΑΣΙΜΟΤ FOURIER ΓΙΑΦΟΡΩΝ ΗΜΑΣΩΝ

x-1 x (x-1) x 5x 2. Να απινπνηεζνύλ ηα θιάζκαηα, έηζη ώζηε λα κελ ππάξρνπλ ξηδηθά ζηνπο 22, 55, 15, 42, 93, 10 5, 12

ΜΑΘΗΜΑΤΙΚΑ ΘΔΤΙΚΗΣ ΚΑΙ ΤΔΦΝΟΛΟΓΙΚΗΣ ΚΑΤΔΥΘΥΝΣΗΣ Β ΛΥΚΔΙΟΥ ΤΔΣΤ(1) ΣΤΑ ΓΙΑΝΥΣΜΑΤΑ

Ππογπαμμαηιζμόρ Ι (ΗΥ120)

ΔΝΓΔΙΚΣΙΚΔ ΛΤΔΙ ΣΑ ΜΑΘΗΜΑΣΙΚΑ ΠΡΟΑΝΑΣΟΛΙΜΟΤ 2017

ΠΔΡΗΓΡΑΦΖ ΛΔΗΣΟΤΡΓΗΚΟΣΖΣΑ ΥΔΓΗΟΤ ΑΡΗΘΜ. 1

Διάρηζηα Δπηθαιύπηνληα Γέλδξα

Αντισταθμιστική ανάλυση

Κβαντικοί Υπολογισμοί. Πέκπηε Γηάιεμε

ΔΠΙΣΡΟΠΗ ΓΙΑΓΩΝΙΜΩΝ 74 ος ΠΑΝΔΛΛΗΝΙΟ ΜΑΘΗΣΙΚΟ ΓΙΑΓΩΝΙΜΟ ΣΑ ΜΑΘΗΜΑΣΙΚΑ Ο ΘΑΛΗ 19 Οκηωβρίοσ Δνδεικηικές λύζεις

Σρήκα Α. Γξάθνπκε ηα ζηνηρεία ηνπ Πξνκεζεπηή θαη παηάκε Δηζαγσγή. Σρήκα Β1

EL Eνωμένη στην πολυμορυία EL A8-0046/319. Τροπολογία

Οδηγίες τρήζης για λειηοσργία μεηαθοράς καναλιών ζε υηθιακό δέκηη OST-7060 HD

Transcript:

ΖΥ240: Γνκέο Γεδνκέλωλ Φεηκεξηλό Δμάκελν Αθαδεκαϊθό Έηνο 2015-16 Γηδάζθνπζα: Παλαγηώηα Φαηνύξνπ Πξνγξακκαηηζηηθή Δξγαζία - 1 ν Μέξνο Ζκεξνκελία Παξάδνζεο: Γεπηέξα, 16 Ννεκβξίνπ 2015, ώξα 23:59. Τξόπνο Παξάδνζεο: Φξεζηκνπνηώληαο ην πξόγξακκα turnin. Πιεξνθνξίεο γηα ην πώο ιεηηνπξγεί ην turnin παξέρνληαη ζηελ ηζηνζειίδα ηνπ καζήκαηνο. Γεληθή Πεξηγξαθή Σηελ εξγαζία απηή θαιείζηε λα πινπνηήζεηε έλα πξόγξακκα πνπ πξνζνκνηώλεη ηε δηαδηθαζία επηινγήο θαη απνζηνιήο δώξωλ ηνπ Αγίνπ Βαζηιείνπ ζε γεσγξαθηθά δηακεξίζκαηα δηάθνξσλ ρσξώλ ηνπ θόζκνπ θαηά ηελ πεξίνδν ησλ Φξηζηνπγέλλσλ. 1

Αλαιπηηθή Πεξηγξαθή Εεηνύκελεο Υινπνίεζεο Γηα ηελ πινπνίεζε ηεο πξνζνκνίσζεο ηεο δηαδηθαζίαο επηινγήο θαη απνζηνιήο δώξσλ ηνπ Αγίνπ Βαζηιείνπ, παηδηά από γεσγξαθηθά δηακεξίζκαηα δηάθνξσλ ρσξώλ ηνπ θόζκνπ ζηέιλνπλ γξάκκαηα κε ηα ζηνηρεία θαη ηηο πξνηηκήζεηο ηνπο. Γηα ηελ θαιύηεξε δηαρείξηζε ησλ γξακκάησλ, ηα παηδηά πξέπεη λα δηαρσξηζηνύλ ζε θαηεγνξίεο κε βάζε ηελ ειηθία ηνπο. Πην ζπγθεθξηκέλα, ππάξρνπλ ηέζζεξηο ειηθηαθέο νκάδεο: ε πξώηε νκάδα πεξηέρεη παηδηά ειηθίαο 0-3 εηώλ, ε δεύηεξε 4-7 εηώλ, ε ηξίηε 8-11 εηώλ θαη ε ηέηαξηε 12-15 εηώλ. Γηα ηε δηαρείξηζε ησλ ειηθηαθώλ νκάδσλ, ζα δεκηνπξγήζεηε έλαλ πίλαθα ζηαζεξνύ κεγέζνπο 4 ζέζεωλ, ν νπνίνο ζα νλνκάδεηαη πίλαθαο ειηθηαθώλ θαηεγνξηώλ. Ζ θάζε ζέζε ηνπ πίλαθα ζα πεξηέρεη έλα δείθηε (ηύπνπ child) ζηνλ πξώην θόκβν κηαο απιά ζπλδεδεκέλεο ιίζηαο, ε νπνία ζα νλνκάδεηαη ιίζηα παηδηώλ ηεο ειηθηαθήο θαηεγνξίαο απηήο. Ο θάζε θόκβνο ηεο ιίζηαο απηήο πεξηέρεη πιεξνθνξίεο γηα θάπνην παηδί πνπ αλήθεη ζε απηήλ ηελ ειηθηαθή θαηεγνξία. Έλαο ηέηνηνο θόκβνο ζα απνηειεί κηα εγγξαθή ηύπνπ child κε ηα αθόινπζα πεδία: cid: Αλαγλσξηζηηθό (ηύπνπ int) πνπ ραξαθηεξίδεη κνλαδηθά ην παηδί. age: Αξηζκόο (ηύπνπ int) πνπ αληηζηνηρεί ζηελ ειηθία ηνπ παηδηνύ. did: Αλαγλσξηζηηθό (ηύπνπ int) πνπ ραξαθηεξίδεη κνλαδηθά ην γεσγξαθηθό δηακέξηζκα ζην νπνίν θαηνηθεί ην παηδί (πεξηζζόηεξεο ιεπηνκέξεηεο γηα ηα γεσγξαθηθά δηακεξίζκαηα παξαθάησ). present_choices: Έλαο πίλαθαο ζηαζεξνύ κεγέζνπο ηξηώλ (3) ζέζεσλ κε ηηο πξνηηκήζεηο δώξσλ ηνπ παηδηνύ. Τν θάζε θειί απηνύ ηνπ πίλαθα πεξηέρεη κνλαδηθά αλαγλσξηζηηθά δώξσλ (ηύπνπ int), ζύκθσλα κε ηηο πξνηηκήζεηο ηνπ παηδηνύ. next: Γείθηεο (ηύπνπ child) ζηνλ επόκελν θόκβν ηεο ιίζηαο παηδηώλ ηεο θαηεγνξίαο. Ζ ιίζηα παηδηώλ θάζε ειηθηαθήο θαηεγνξίαο είλαη ηαμηλνκεκέλε βάζεη ησλ αλαγλσξηζηηθώλ ησλ παηδηώλ. Σην Σρήκα 1 παξνπζηάδεηαη ν πίλαθαο ειηθηαθώλ θαηεγνξηώλ, ζηαζεξνύ κεγέζνπο 4 ζέζεσλ, θαη ε ιίζηα ησλ παηδηώλ πνπ δεηθηνδνηείηαη από ην εθάζηνηε ζηνηρείν ηνπ. Ο Άγηνο Βαζίιεηνο δηαηεξεί κηα απνζήθε κε απνζέκαηα δώξσλ. Γηα ην ζθνπό απηό ζα δεκηνπξγήζεηε κηα κε-ηαμηλνκεκέλε, δηπιά ζπλδεδεκέλε ιίζηα κε θόκβν θξνπξό, ε νπνία ζα νλνκάδεηαη ιίζηα απνζεκάηωλ. Κάζε θόκβνο ηεο ιίζηαο απνζεκάησλ ζα πεξηέρεη κηα εγγξαθή ηύπνπ present κε ηα αθόινπζα πεδία: pid: Αλαγλσξηζηηθό (ηύπνπ int) πνπ ραξαθηεξίδεη κνλαδηθά ην δώξν. stock_cnt: Αξηζκόο (ηύπνπ int) πνπ αληηζηνηρεί ζην απόζεκα ηνπ δώξνπ πνπ είλαη δηαζέζηκν ζηελ απνζήθε. request_cnt: Αξηζκόο (ηύπνπ int) πνπ αληηζηνηρεί ζην πιήζνο ησλ παηδηώλ πνπ έρνπλ εθθξάζεη επηζπκία γηα ην δώξν. Αξρηθά, ν κεηξεηήο απηόο ζα έρεη ηηκή 0 θαη ζα απμάλεηαη θαζώο ν Άγηνο Βαζίιεηνο δέρεηαη ηα γξάκκαηα ησλ παηδηώλ. prev: Γείθηεο (ηύπνπ present) ζηνλ πξνεγνύκελν θόκβν ηεο ιίζηαο. next: Γείθηεο (ηύπνπ present) ζηνλ επόκελν θόκβν ηεο ιίζηαο. O θόκβνο θξνπξόο ηεο ιίζηαο είλαη έλαο δηαρεηξηζηηθόο θόκβνο γηα ηνλ νπνίν ηζρύνπλ ηα εμήο: ν δείθηεο next ηνπ θόκβνπ απηνύ δείρλεη πάληα ζην πξώην ζηνηρείν ηεο ιίζηαο, ν δείθηεο prev δείρλεη πάληα ζην ηειεπηαίν ζηνηρείν ηεο ιίζηαο. Ο θόκβνο θξνπξόο είλαη θαη απηόο ηύπνπ present κε ηελ ηδηαηηεξόηεηα όηη ην αλαγλσξηζηηθό (pid) θαη νη κεηξεηέο ηνπ (stock_cnt, request_cnt) έρνπλ ηηκή -1. Τν Σρήκα 2 απεηθνλίδεη ηε ιίζηα απνζεκάησλ ησλ δώξσλ (presents). Σηε ιίζηα απηή εθαξκόδεηαη ην αθόινπζν επξηζηηθό αλαδηάξζξσζεο ηεο ιίζηαο ην νπνίν απνζθνπεί ζηε δηαηήξεζε ησλ θόκβσλ πνπ αλαδεηνύληαη πην ζπρλά ζηελ αξρή ηεο ιίζηαο θαη άξα εθαξκόδεηαη γηα ιόγνπο απόδνζεο. Ο θόκβνο πνπ αλαδεηήζεθε ζα κεηαθέξεηαη 5 ζέζεηο πξνο ηελ αξρή ηεο ιίζηαο μεθηλώληαο από ηελ ηξέρνπζα ζέζε ηνπ ζηε ιίζηα. Αλ έλαο 2

θόκβνο βξίζθεηαη ζε κηα από ηηο 4 πξώηεο ζέζεηο ηεο ιίζηαο, ζα πξέπεη απιά λα κεηαθέξεηαη ζηελ πξώηε ζέζε. Γηα λα ηθαλνπνηήζεη ηηο επηζπκίεο ησλ παηδηώλ, ν Άγηνο Βαζίιεηνο δηαρσξίδεη ηηο παξαδόζεηο ησλ δώξσλ κε βάζε ην γεσγξαθηθό δηακέξηζκα (θαη άξα θαη ηε ρώξα) πνπ δηακέλεη ην θάζε παηδί. Γηα απηό ην ζθνπό ζα ρξεζηκνπνηήζεηε κηα ηαμηλνκεκέλε, απιά-ζπλδεδεκέλε ιίζηα, ε νπνία ζα νλνκάδεηαη ιίζηα γεωγξαθηθώλ δηακεξηζκάηωλ (DistrictsL). Ζ ιίζηα απηή είλαη ηαμηλνκεκέλε βάζεη ηνπ αλαγλσξηζηηθνύ ηνπ γεσγξαθηθνύ δηακεξίζκαηνο. Κάζε ζηνηρείν ηεο ιίζηαο γεωγξαθηθώλ δηακεξηζκάηωλ είλαη κηα εγγξαθή ηύπνπ district κε ηα αθόινπζα πεδία: did: Αλαγλσξηζηηθό (ηύπνπ int) πνπ ραξαθηεξίδεη κνλαδηθά έλα γεσγξαθηθό δηακέξηζκα θαη ηε ρώξα ζηελ νπνία αλήθεη. assignl: Γείθηεο (ηύπνπ present_assign) ζην πξώην ζηνηρείν κηαο κε ηαμηλνκεκέλεο, απιά ζπλδεδεκέλεο ιίζηαο, ε νπνία νλνκάδεηαη ιίζηα αλάζεζεο δώξωλ. Ζ ιίζηα απηή πεξηέρεη ηα δώξα πνπ ζα ιάβνπλ ηα παηδηά ηνπ γεσγξαθηθνύ δηακεξίζκαηνο κε αλαγλσξηζηηθό did. Κάζε ζηνηρείν ηεο ιίζηαο απηήο απνηειεί κηα εγγξαθή ηύπνπ present_assignment κε ηα αθόινπζα πεδία: cid: Αλαγλσξηζηηθό (ηύπνπ int) πνπ ραξαθηεξίδεη κνλαδηθά ην παηδί. pid: Αλαγλσξηζηηθό (ηύπνπ int) πνπ ραξαθηεξίδεη κνλαδηθά ην δώξν. s_degree: Αξηζκόο (ηύπνπ int) πνπ αληηζηνηρεί ζην βαζκό ηθαλνπνίεζεο ηνπ παηδηνύ. Ζ κεηαβιεηή απηή ιακβάλεη ηηκέο από 1 κέρξη 5, κε 1 λα αληηζηνηρεί ζηνλ ειάρηζην βαζκό ηθαλνπνίεζεο ηνπ παηδηνύ θαη 5 ζην κέγηζην βαζκό ηθαλνπνίεζεο. next: Γείθηεο (ηύπνπ present_assignment) ζηνλ επόκελν θόκβν ηεο ιίζηαο αλάζεζεο δώξωλ. next: Γείθηεο (ηύπνπ district) ζηνλ επόκελν θόκβν ηεο ιίζηαο γεωγξαθηθώλ δηακεξηζκάηωλ. Σην Σρήκα 3 παξνπζηάδεηαη ζρεκαηηθά ε ιίζηα γεσγξαθηθώλ δηακεξηζκάησλ θαη νη αληίζηνηρεο ιίζηεο αλάζεζεο δώξσλ. 3

Σρήκα 1: Πίλαθαο ειηθηαθώλ θαηεγνξηώλ θαη αληίζηνηρε ηαμηλνκεκέλε (βάζεη cid), απιά ζπλδεδεκέλε ιίζηα παηδηώλ γηα θάζε ειηθηαθή θαηεγνξία Σρήκα 2: Γηπιά -ζπλδεδεκέλε ιίζηα απνζεκάηωλ ηωλ δώξωλ Σρήκα 3: Ταμηλνκεκέλε (βάζεη did), απιά-ζπλεδεδεκέλε ιίζηα γεωγξαθηθώλ δηακεξηζκάηωλ θαη κε ηαμηλνκεκέλε, απιά - ζπλεδεκέλε ιίζηα αλάζεζεο δώξωλ γηα θάζε γεωγξαθηθό δηακέξηζκα 4

Τξόπνο Λεηηνπξγίαο Πξνγξάκκαηνο Τν πξόγξακκα πνπ ζα δεκηνπξγεζεί ζα πξέπεη λα εθηειείηαη θαιώληαο ηελ αθόινπζε εληνιή: <executable> <input-file> όπνπ <executable> είλαη ην όλνκα ηνπ εθηειέζηκνπ αξρείνπ ηνπ πξνγξάκκαηνο (π.ρ. a.out) θαη <input-file> είλαη ην όλνκα ελόο αξρείνπ εηζόδνπ (π.ρ. testfile) ην νπνίν πεξηέρεη γεγνλόηα ησλ αθόινπζσλ κνξθώλ: B <pid> <stock_cnt> Γεγνλόο ηύπνπ buy present ην νπνίν ζεκαηνδνηεί ηελ αγνξά απνζέκαηνο γηα ην δώξν (present) κε αλαγλσξηζηηθό <pid> από ηνλ Άγην Βαζίιεην. Σπγθεθξηκέλα, ν Άγηνο Βαζίιεηνο αγνξάδεη απόζεκα ηνπ δώξνπ κε αλαγσξηζηηθό <pid> ίζν κε <stock_cnt>. Μηα εγγξαθή γηα ην δώξν γηα ην νπνίν αγνξάζηεθε απόζεκα ζα πξέπεη λα εηζάγεηαη ζηε ιίζηα απνζεκάηωλ ηωλ δώξωλ. Θεσξήζηε όηη θάζε αλαγλσξηζηηθό δώξνπ πνπ αλαθέξεηαη από νπνηνδήπνηε γεγνλόο ηύπνπ B ελόο test-file ζα είλαη κνλαδηθό θαη ζρεδηάζηε ηελ Insert() ζηε ιίζηα απζνζεκάησλ ησλ δώξσλ ώζηε λα είλαη όζν ην δπλαηόλ πην απνδνηηθή. Μεηά ην πέξαο ηεο εθηέιεζεο ελόο ηέηνηνπ γεγνλόηνο, ην πξόγξακκα ζα πξέπεη λα ηππώλεη ηελ αθόινπζε πιεξνθνξία: B <pid> <stock_cnt> Presents = <pid 1 >, <pid 2 >,..., <pid n > όπνπ n είλαη ν αξηζκόο ησλ θόκβσλ ζηε ιίζηα απνζεκάησλ θαη γηα θάζε i {1,, n}, <pid i > είλαη ην αλαγλσξηζηηθό ηνπ δώξνπ πνπ αληηζηνηρεί ζηνλ i-νζηό θόκβν ηεο ιίζηαο απηήο. L <cid> <age> <did> <pid 1 > <pid 2 > <pid 3 > Γεγνλόο ηύπνπ letter received ην νπνίν ζεκαηνδνηεί ηελ παξαιαβή από ηνλ Άγην Βαζίιεην ελόο γξάκκαηνο πνπ έρεη απνζηαιεί από έλα παηδί κε αλαγλσξηζηηθό <cid>, ειηθίαο <age> πνπ δηακέλεη ζηελ πεξηνρή κε αλαγλσξηζηηθό <did>. Τα <pid 1 >, <pid 2 > θαη <pid 3 > είλαη αλαγλσξηζηηθά δώξσλ πνπ αληηζηνηρνύλ ζηηο πξνηηκήζεηο ηνπ παηδηνύ. Γηα ηελ εθηέιεζε ηνπ γεγνλόηνο απηνύ απαηηείηαη λα γίλνπλ νη αθόινπζεο ελέξγεηεο. Θα πξέπεη λα πξαγκαηνπνηεζεί πξόζβαζε ηνπ θαηάιιεινπ ζηνηρείνπ ηνπ πίλαθα ειηθηαθώλ θαηεγνξηώλ από ην νπνίν μεθηλάεη ε θαηάιιειε ιίζηα παηδηώλ όπνπ πξέπεη λα απνζεθεπηεί ε εγγξαθή ηύπνπ child γηα ην παηδί (αλ δελ ππάξρεη ήδε εθεί). Σηε ζπλέρεηα, ζα πξέπεη λα γίλεη κηα αλαδήηεζε γηα ηηο πξνηηκήζεηο ηνπ παηδηνύ ζηε ιίζηα απνζεκάησλ θαη γηα θάζε δώξν ηεο πξνηίκεζεο ηνπ παηδηνύ ζα πξέπεη λα απμάλεηαη ν κεηξεηήο δήηεζεο (request_cnt) θαηά έλα. Ζ αλαδήηεζε ζα πξέπεη λα ελεκεξώλεη όιεο ηηο εγγξαθέο πνπ αληηζηνηρνύλ ζηηο πξνηηκήζεηο ηνπ παηδηνύ πξαγκαηνπνηώληαο κηα κόλν δηάζρηζε. Δίλαη αμηνζεκείσην πσο θαηά ηελ αλαδήηεζε εθαξκόδεηαη ην επξηζηηθό πνπ έρεη πεξηγξαθεί ζηελ Δλόηεηα Αλαιπηηθή Πεξηγξαθή ηεο Εεηνύκελεο Υινπνίεζεο παξαπάλσ. Αλ ην δώξν κε αλαγλσξηζηηθό <pid> δελ ππάξρεη ζηε ιίζηα απνζεκάησλ, ν Άγηνο Βαζίιεηνο ζα πξέπεη λα πξνβαίλεη ζηελ αγνξά 10 απνζεκάησλ ηνπ δώξνπ απηνύ. Σε απηή ηελ πεξίπησζε, έλαο λένο θόκβνο (πνπ ζα αληηζηνηρεί ζε απηό ην δώξν) ζα πξέπεη λα εηζάγεηαη ζηε ιίζηα απνζεκάησλ. Ζ εηζαγσγή απηή ζα πξέπεη λα πξαγκαηνπνηείηαη ζε ρξόλν Ο(1) θαη δε ζα πξέπεη λα θαηαζηξέθεη ηε δηάηαμε ησλ θόκβσλ ζηε ιίζηα βάζεη ηεο ζπρλόηεηάο ηνπο, όπσο απηή έρεη επηηεπρζεί από ην επξηζηηθό. Μεηά ην πέξαο ηεο 5

εθηέιεζεο ελόο ηέηνηνπ γεγνλόηνο ην πξόγξακκα ζα πξέπεη λα ηππώλεη ηελ αθόινπζε πιεξνθνξία: L <cid> <age> <did> <pid 1 > <pid 2 > <pid 3 > P Γεγνλόο ηύπνπ prepare presents ην νπνίν ζεκαηνδνηεί ηελ αλάζεζε ησλ δώξσλ ζηα παηδηά ιακβάλνληαο ππόςε ηόζν ηηο πξνηηκήζεηο ηνπο όζν θαη ην δηαζέζηκν απόζεκα ζηελ απνζήθε. Καηά ην γεγνλόο απηό, ζα πξέπεη λα δηαηξέμεηε ηηο ιίζηεο ησλ παηδηώλ από όιεο ηηο ειηθηαθέο θαηεγνξίεο. Δπηπιένλ, ζα πξέπεη λα ειέγμεηε αλ ην γεσγξαθηθό δηακέξηζκα πνπ δηακέλεη ην παηδί ππάξρεη ήδε ζηε ιίζηα γεσγξαθηθώλ δηακεξηζκάησλ. Σπλεπώο, όηαλ ζπλαληάηε ην πξώην παηδί ελόο γεσγξαθηθνύ δηακεξίζκαηνο ζα πξέπεη λα εηζάγεηε έλα ζηνηρείν πνπ λα αληηζηνηρεί ζηε ιίζηα ηνπ γεσγξαθηθνύ δηακεξίζκαηνο απηνύ. Σηε ζπλέρεηα, γηα θάζε παηδί ζα πξέπεη λα εμεηάδεηε αλ ππάξρεη δηαζέζηκν απόζεκα γηα θάζε έλα από ηα δώξα ηεο πξνηίκεζήο ηνπ κε ζεηξά πξνηεξαηόηεηαο. Αλ ν κεηξεηήο απνζέκαηνο (stock_cnt) έρεη ηηκή κεγαιύηεξε από ην 0 ηόηε ην δώξν αλαηίζεηαη ζην παηδί θαη ν κεηξεηήο απνζέκαηνο κεηώλεηαη θαηά έλα. Σε δηαθνξεηηθή πεξίπησζε, ζα πξέπεη λα εμεηάδνληαη νη ππόινηπεο πξνηηκήζεηο ηνπ παηδηνύ κε ηνλ ίδην ηξόπν. Αλ θακηά από ηηο πξνηηκήζεηο ηνπ παηδηνύ δελ κπνξεί λα ηθαλνπνηεζεί κε βάζε ηα απνζέκαηα ηεο απνζήθεο, ηόηε αλαηίζεηαη ζην παηδί έλα πξνθαζνξηζκέλν δώξν κε ζπγθεθξηκέλν αλαγλσξηζηηθό (pid = -2). Ζ εμέηαζε ύπαξμεο απνζέκαηνο ζα πξέπεη λα πξαγκαηνπνηείηαη δηαζρίδνληαο ηε ιίζηα κηα κόλν θνξά. Μεηά ην πέξαο ηεο εθηέιεζεο ελόο ηέηνηνπ γεγνλόηνο, ην πξόγξακκα ζα πξέπεη λα ηππώλεη ηελ αθόινπζε πιεξνθνξία: P DISTRICTS: <did 1 > ASSIGNMENT: <cid 1,1, pid 1,1 > <cid 1,n1, pid 1,n1 > <did 2 > ASSIGNMENT: <cid 2,1, pid 2,1 > <cid 2,n2, pid 2,n2 >... <did k > ASSIGNMENT: <cid k,1, pid k,1 > <cid k,nk, pid k,nk > όπνπ k είλαη ν αξηζκόο ησλ γεσγξαθηθώλ δηακεξηζκάησλ ζηε ιίζηα γεσγξαθηθώλ δηακεξηζκάησλ, γηα θάζε j, 1 j k, n j είλαη ην κέγεζνο ηεο ιίζηαο αλάζεζεο δώξσλ ηνπ j-νζηνύ γεσγξαθηθνύ δηακεξίζκαηνο, θαη γηα θάζε i {1,, n j }, <pid k,i, cid k,i > είλαη ην αλαγλσξηζηηθό ηνπ παηδηνύ θαη ηνπ δώξνπ ηνπ i-νζηνύ θόκβνπ ζηε ιίζηα αλάζεζεο δώξσλ ηνπ γεσγξαθηθνύ δηακεξίζκαηνο κε αλαγλσξηζηηθό k. 6

F <cid> <s_degree> Γεγνλόο ηύπνπ give feedback ην νπνίν ζεκαηνδνηεί ηελ εηζαγσγή θάπνηνπ βαζκνύ <s_degree> ηθαλνπνίεζεο ηνπ παηδηνύ κε αλαγλσξηζηηθό <cid> γηα ην δώξν πνπ έιαβε. Ζ ηηκή ηνπ s_degree είλαη έλαο αθέξαηνο αξηζκόο από ην 1 σο ην 5, κε ην 1 λα αληηζηνηρεί ζηνλ ειάρηζην βαζκό ηθαλνπνίεζεο ηνπ παηδηνύ θαη ην 5 ζην κέγηζην. Καηά ην γεγνλόο απηό, εληνπίδεηαη ην παηδί κε αλαγλσξηζηηθό <cid> ζηε ιίζηα αλάζεζεο δώξσλ θαη ηίζεηαη ν βαζκόο ηθαλνπνίεζήο ηνπ ώζηε λα είλαη ίζνο κε <s_degree>. Δμαίξεζε απνηειεί ε πεξίπησζε πνπ ζην παηδί έρεη αλαηεζεί ην πξνθαζνξηζκέλν δώξν (κε pid=-2). Τόηε, ν βαζκόο ηθαλνπνίεζεο ζα είλαη έλα (1) αλεμάξηεηα από ηελ ηηκή ηεο παξακέηξνπ <s_degree>. Μεηά ην πέξαο ηεο εθηέιεζεο ελόο ηέηνηνπ γεγνλόηνο ην πξόγξακκα ζα πξέπεη λα ηππώλεη ηελ αθόινπζε πιεξνθνξία: F <cid> <s_degree> <pid> όπνπ <pid> είλαη ην αλαγλσξηζηηθό ηνπ δώξνπ πνπ έιαβε ην παηδί κε αλαγλσξηζηηθό <cid> θαη έδσζε βαζκό ηθαλνπνίεζεο <s_degree>. A Γεγνλόο ηύπνπ analytics θαηά ην νπνίν εθηππώλεηαη ε ιίζηα απνζεκάησλ δώξσλ ηαμηλνκεκέλε σο πξνο ηε δήηεζε ησλ δώξσλ. Γηα ην ζθνπό απηό, ε ιίζηα απνζεκάησλ ησλ δώξσλ ζηελ απνζήθε πξέπεη λα ηαμηλνκείηαη ζε θζίλνπζα δηάηαμε κε βάζε ηε δήηεζε ηνπ θάζε δώξνπ (πεδίν request_cnt). Ζ ιίζηα ζα πξέπεη λα ηαμηλνκείηαη ζε ρξόλν Ο(n 2 ) πινπνηώληαο ηνλ αιγόξηζκν InsertionSort() ζε ιίζηεο, όπνπ n ην πιήζνο ησλ ζηνηρείσλ ηεο ιίζηαο. Ο αιγόξηζκνο InsertionSort() έρεη δηδαρζεί ζηελ Δλόηεηα 1 γηα πίλαθεο θαη ζα πξέπεη λα ηνλ ηξνπνπνηήζεηε θαηάιιεια ώζηε λα ιεηηνπξγεί πάλσ ζε ιίζηεο. Μεηά ην πέξαο ηεο εθηέιεζεο ελόο ηέηνηνπ γεγνλόηνο ην πξόγξακκα ζα πξέπεη λα ηππώλεη ηελ αθόινπζε πιεξνθνξία: A <pid i > : <request_cnt i >... <pid n > : <request_cnt n > όπνπ n είλαη ην κέγεζνο ηεο ιίζηαο απνζεκάησλ δώξσλ, γηα θάζε i {1,, n}, <pid i > είλαη ην αλαγλσξηζηηθό ηνπ δώξνπ πνπ αληηζηνηρεί ζην i-νζηό θόκβν ζηε ιίζηα απνζεκάησλ δώξσλ θαη <request_cnt i > είλαη ν κεηξεηήο δήηεζεο ηνπ δώξνπ απηνύ. Ν 7

Γεγνλόο ηύπνπ new season ην νπνίν ζεκαηνδνηεί ηελ έλαξμε λέαο πεξηόδνπ πξνεηνηκαζίαο ηνπ Αγίνπ Βαζηιείνπ. Γηα θάζε παηδί θάζε ειηθηαθήο θαηεγνξίαο, απμάλνπκε ηελ ειηθία ηνπ θαηά έλα. Απηό ελδέρεηαη λα πξνθαιέζεη ηε κεηαθίλεζε θάπνησλ παηδηώλ ζε λέα ειηθηαθή θαηεγνξία. Ο αιγόξηζκνο κεηαθίλεζεο ησλ παηδηώλ θάζε ειηθηαθήο θαηεγνξίαο ζηελ επόκελε πξέπεη λα γίλεηαη ζε Ο(n 1 +n 2 ) ρξόλν, όπνπ n 1 είλαη ην κέγεζνο ηεο ιίζηαο ζηελ νπνία ζα αλήθεη ην παηδί κεηά ην ηέινο ηνπ γεγνλόηνο απηνύ. Τα παηδηά πνπ ππεξβαίλνπλ ην 15ν έηνο ηεο ειηθίαο ηνπο ζα πξέπεη λα αθαηξεζνύλ από ηε δνκή. Απηό ζα πξέπεη λα πξαγκαηνπνηεζεί κε κηα κόλν δηάζρηζε ηεο ιίζηαο παηδηώλ ηεο κεγαιύηεξεο ειηθηαθήο θαηεγνξίαο. Δπηπξόζζεηα, θάζε έλα από ηα ζηνηρεία ηνπ πίλαθα πξνηηκήζεώλ (present_choices) ηνπ παηδηνύ πξέπεη λα αξρηθνπνηεζεί κε ηελ ηηκή 0. Δπηπιένλ, γηα θάζε γεσγξαθηθό δηακέξηζκα (district) ηεο ιίζηαο γεσγξαθηθώλ δηακεξηζκάησλ, ζα πξέπεη λα αδεηάζεη ε ιίζηα ησλ παηδηώλ πνπ αλήθνπλ ζε απηή. Δπίζεο, ζα πξέπεη λα δηαηξέμεηε ηε ιίζηα απνζεκάησλ ησλ δώξσλ κηα θνξά θαη λα πξαγκαηνπνηήζεηε ηηο αθόινπζεο ελέξγεηεο: (α) λα δηαγξάςεηε ηηο εγγξαθέο πνπ αληηζηνηρνύλ ζε εθείλα ηα δώξα γηα ηα νπνία ν κεηξεηήο απνζεκάησλ είλαη 0 θαη (β) λα κεδελίζεηε ην κεηξεηή δήηεζεο ησλ ππνινίπσλ. Μεηά ην πέξαο ηεο εθηέιεζεο ελόο ηέηνηνπ γεγνλόηνο ην πξόγξακκα ζα πξέπεη λα ηππώλεη ηελ αθόινπζε πιεξνθνξία: N C Γεγνλόο ηύπνπ clear list of children ην νπνίν ζεκαηνδνηεί ηε δηαγξαθή ησλ παηδηώλ (child) ηα νπνία δελ έρνπλ ζηείιεη γξάκκα ζηνλ Άγην Βαζίιεην από ηελ ηειεπηαία αιιαγή ηεο ζεδόλ. Σπγθεθξηκέλα, γηα θάζε παηδί θάζε ειηθηαθήο θαηεγνξίαο, ζα πξέπεη λα γίλεηαη έιεγρνο ζηνλ πίλαθα ησλ πξνηηκήζεώλ ηνπ (present_choices) θαη αλ όιεο νη ζέζεηο έρνπλ κεδεληθέο ηηκέο, ηόηε ην παηδί ζα πξέπεη λα δηαγξάθεηαη από ηε δνκή αθνύ απηό ζεκαίλεη όηη δελ έρεη ζηείιεη ζην ηξέρνλ έηνο γξάκκα ζηνλ Άγην Βαζίιεην. Μεηά ην πέξαο ηεο εθηέιεζεο ελόο ηέηνηνπ γεγνλόηνο ην πξόγξακκα ζα πξέπεη λα ηππώλεη ηελ αθόινπζε πιεξνθνξία: C 0-3: <cid 1,1 > <cid 1,n1 > 4-7: <cid 2,1 > <cid 2,n2 > 8-11: <cid 3,1 > <cid 3,n3 > 12-15: <cid 4,1 > <cid 4,n4 > όπνπ γηα θάζε k {1,, 4}, n k είλαη ν αξηζκόο ησλ θόκβσλ ζηε ιίζηα παηδηώλ ηεο ειηθηαθήο 8

θαηεγνξίαο ε νπνία δεηθηνδνηείηαη από ηελ k-νζηή ζέζε ηνπ πίλαθα Age_categories θαη γηα θάζε i {1,, n}, <cid k,i > είλαη ην αλαγλσξηζηηθό ηνπ παηδηνύ πνπ αληηζηνηρεί ζηνλ i-νζηό θόκβν ηεο ιίζηαο παηδηώλ ηεο ειηθηαθήο θαηεγνξίαο απηήο. S <pid> Γεγνλόο ηύπνπ search present ην νπνίν ζεκαηνδνηεί ηελ αλαδήηεζε ηνπ δώξνπ κε αλαγλσξηζηηθό <pid> ζηε ιίζηα απνζεκάησλ. Μεηά ην πέξαο ηεο εθηέιεζεο ελόο ηέηνηνπ γεγνλόηνο ην πξόγξακκα ζα πξέπεη λα ηππώλεη ηελ αθόινπζε πιεξνθνξία: S <pid> <stock_cnt>, <request_cnt> όπνπ <stock_cnt> θαη <request_cnt> είλαη ν κεηξεηήο απνζέκαηνο θαη ν κεηξεηήο δήηεζεο ηνπ δώξνπ κε αλαγλσξηζηηθό <pid>, αληίζηνηρα. Αλ δελ ππάξρεη ην δώξν ζηε ιίζηα, ζα πξέπεη λα εκθαλίδεηαη θαη ζηνπο δπν κεηξεηέο ε ηηκή 0. H Γεγνλόο ηύπνπ print child ην νπνίν ζεκαηνδνηεί ηελ εθηύπσζε ηεο ιίζηαο παηδηώλ όισλ ησλ ειηθηαθώλ θαηεγνξηώλ. Μεηά ην πέξαο ηεο εθηέιεζεο ελόο ηέηνηνπ γεγνλόηνο ην πξόγξακκα ζα πξέπεη λα ηππώλεη ηελ αθόινπζε πιεξνθνξία: H 0-3: <cid 1,1 > <cid 1,n1 > 4-7: <cid 2,1 > <cid 2,n2 > 8-11: <cid 3,1 > <cid 3,n3 > 12-15: <cid 4,1 > <cid 4,n4 > όπνπ γηα θάζε k {1,, 4}, n k είλαη ν αξηζκόο ησλ θόκβσλ ζηε ιίζηα παηδηώλ ηεο ειηθηαθήο θαηεγνξίαο ε νπνία δεηθηνδνηείηαη από ηελ k-νζηή ζέζε toy πίλαθα Age_categories θαη γηα θάζε i {1,, n}, <cid k,i > είλαη ην αλαγλσξηζηηθό ηνπ παηδηνύ πνπ αληηζηνηρεί ζηνλ i-νζηό θόκβν ηεο ιίζηαο παηδηώλ ηεο ειηθηαθήο θαηεγνξίαο απηήο. I Γεγνλόο ηύπνπ print district ην νπνίν ζεκαηνδνηεί ηελ εθηύπσζε ησλ αλαγλσξηζηηθώλ ησλ παηδηώλ θαη ησλ αλαγλσξηζηηθώλ ησλ δώξσλ πνπ έρνπλ ιάβεη από ηνλ Άγην Βαζίιεην πνπ θαηνηθνύλ ζε όια ηα γεσγξαθηθά δηακεξίζκαηα. Μεηά ην πέξαο ηεο εθηέιεζεο ελόο ηέηνηνπ γεγνλόηνο ην πξόγξακκα ζα πξέπεη λα ηππώλεη ηελ αθόινπζε πιεξνθνξία: 9

I DISTRICTS: <did 1 > ASSIGNMENT: <cid 1,1, pid 1,1 > <cid 1,n1, pid 1,n1 > <did 2 > ASSIGNMENT: <cid 2,1, pid 2,1 > <cid 2,n2, pid 2,n2 >... <did k > ASSIGNMENT: <cid k,1, pid k,1 > <cid k,nk, pid k,nk > όπνπ k είλαη ν αξηζκόο ησλ γεσγξαθηθώλ δηακεξηζκάησλ ζηε ιίζηα γεσγξαθηθώλ δηακεξηζκάησλ, γηα θάζε j, 1 j k, n j είλαη ην κέγεζνο ηεο ιίζηαο αλάζεζεο δώξσλ ηνπ j-νζηνύ γεσγξαθηθνύ δηακεξίζκαηνο, θαη γηα θάζε i {1,, n j }, <pid k,i, cid k,i > είλαη ην αλαγλσξηζηηθό ηνπ παηδηνύ θαη ηνπ δώξνπ ηνπ i-νζηνύ θόκβνπ ζηε ιίζηα αλάζεζεο δώξσλ ηνπ γεσγξαθηθνύ δηακεξίζκαηνο κε αλαγλσξηζηηθό k. T Γεγνλόο ηύπνπ print stock ην νπνίν ζεκαηνδνηεί ηελ εθηύπσζε ησλ αλαγλσξηζηηθώλ ησλ αδηάζεησλ δώξσλ ζηε ιίζηα απνζεκάησλ ησλ δώξσλ. Μεηά ην πέξαο ηεο εθηέιεζεο ελόο ηέηνηνπ γεγνλόηνο ην πξόγξακκα ζα πξέπεη λα ηππώλεη ηελ αθόινπζε πιεξνθνξία: T Stock = <pid 1 >,, <pid n > όπνπ n είλαη ν αξηζκόο ησλ θόκβσλ ζηε ιίζηα απνζεκαηηθώλ θαη γηα θάζε i {1,, n}, <pid i > είλαη ην αλαγλσξηζηηθό ηνπ δώξνπ πνπ αληηζηνηρεί ζην i-νζηό θόκβν ζηε ιίζηα απηή. D (BONUS) Γεγνλόο ηύπνπ advanced analytics θαηά ην νπνίν εθηππώλεηαη ην δεκνθηιέζηεξν δώξν ζε θάζε γεσγξαθηθό δηακέξηζκα. Θα πξέπεη λα δηαηξέμεηε ηε ιίζηα γεσγξαθηθώλ δηακεξηζκάησλ θαη γηα θάζε γεσγξαθηθό δηακέξηζκα, ζα πξέπεη λα θάλεηε θαηάιιειε ηαμηλόκεζε ζηε ιίζηα αλάζεζεο δώξσλ πνπ αληηζηνηρεί ζε απηό ην γεσγξαθηθό δηακέξηζκα ώζηε λα κπνξείηε λα βξείηε ην δεκνθηιέζηεξν δώξν ζην γεσγξαθηθό δηακέξηζκα ρξεζηκνπνηώληαο απιά δύν κεηξεηέο θαη δηαζρίδνληαο ηε ιίζηα (αθνύ γίλεη ε ηαμηλόκεζε) κόλν κηα θνξά. Μεηά ην πέξαο ηεο εθηέιεζεο ελόο ηέηνηνπ γεγνλόηνο ην πξόγξακκα ζα πξέπεη λα ηππώλεη ηελ αθόινπζε πιεξνθνξία: 10

D Districts = <did i > : <pid 1 > <did n > : <pid n > όπνπ <did> ην αλαγλσξηζηηθό θαη <pid> ην αλαγλσξηζηηθό ηνπ δεκνθηιέζηεξνπ δώξνπ ηνπ i-νζηνύ θόκβνπ ζηε ιίζηα γεσγξαθηθώλ δηακεξηζκάησλ γηα θάζε i {1,, n}. 11

Βαζκνινγία B Buy present 8 L Letter received 14 P Prepare presents 14 F Give feedback 10 A Analytics 14 N New season 14 C Clear list of children 8 S Search present 5 H Print child 1 I Print district 1 T Print stock 1 D Advanced analytics 15 Γελ θάλεη compile 5 Γελ ηξέρεη θαη δελ ηξέρνπλ ηα test-files 5 12

Γνκέο Γεδνκέλωλ Σηελ πινπνίεζή ζαο δελ επηηξέπεηαη λα ρξεζηκνπνηήζεηε έηνηκεο δνκέο δεδνκέλσλ (πρ., ArrayList) είηε ε πινπνίεζε πξαγκαηνπνηεζεί ζηε C είηε ζηε Java. Δπίζεο, δελ επηηξέπεηαη ε ρξήζε boolean ηύπσλ ζηε java. Σηε ζπλέρεηα παξνπζηάδνληαη νη δνκέο ζε C πνπ πξέπεη λα ρξεζηκνπνηεζνύλ γηα ηελ πινπνίεζε ηεο παξνύζαο εξγαζίαο. #define M 3 #define N 4 struct child { int cid; int age; int did; int present_choices[m]; struct child *next; /* Singly-linked, sorted by id */ }; struct present { int pid; int stock_cnt; int request_cnt; struct present *prev; /* Double-linked with sentinel, unsorted, */ /* a variant of the Transpose Heuristic is applied during LookUp()*/ struct present *next; }; struct present_assign { int cid; int pid; int s_degree; struct present_assign *next; /* Singly-linked, unsorted */ }; 13

struct district { int did; struct present_assign *assignl; struct district *next; /* Singly-linked, sorted by did */ }; struct child *Age_categories[N]; struct present *stock_list; /*global variable which is a pointer to the beginning of the list stock */ struct present *stock_sentinel; /*global variable of pointer to the sentinel node of the list stock */ 14