Avatar of Γιώργος

by Γιώργος

Featured

Γενικές Πληροφορίες

27 December 2012 in Ανακοινώσεις

santang-king-leonidasΗ Παγκύπρια Μαθητική Ολυμπιάδα Πληροφορικής είναι διαγωνισμός προγραμματισμού ηλεκτρονικών υπολογιστών για μαθητές της δευτεροβάθμιας εκπαίδευσης, δημόσιας και ιδιωτικής.

Υλοποιείται από τον Κυπριακό Σύνδεσμο Πληροφορικής σε τρείς φάσεις (δύο φάσεις πριν το 2012) σε ετήσια βάση.

Ο διαγωνισμός διοργανώνεται υπό την αιγίδα του Υπουργείου Παιδείας και Πολιτισμού, τη συνεργασία του Συνδέσμου Καθηγητών Πληροφορικής και τη χορηγία της CYTA.

Ο κύριος στόχος του είναι η αναβάθμιση της χρήσης της τεχνολογίας της πληροφορικής και της έννοιας του προγραμματισμού ανάμεσα στους μαθητές.

Η διοργάνωση αποβλέπει επίσης στην επιλογή της επίσημης κυπριακής αντιπροσωπείας της Κύπρου η οποία συμμετέχει στις διοργανώσεις της Διεθνούς και  Βαλκανικής Ολυμπιάδας Πληροφορικής.

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

Οι προχωρημένοι διαγωνιζόμενοι καλό θα ήταν να δουλέψουν και με τις ακόλουθες ιστοσελίδες:

Για απορίες: xeirwn [στο] michanicos.com

Avatar of Pavlos

by Pavlos

Πρόγραμμα Camp

18 April 2014 in Γύρος Γ

Το camp θα πραγματοποιηθεί στα εργαστήρια πληροφορικής του Ευρωπαϊκού Πανεπιστημίου  Κύπρου. Θα υπάρχουν 2 ομάδες μαθητών. Αυτοί που προκρίθηκαν στο Γ γύρο (Group 1) και όσοι  συμμετείχαν στον Β γύρο, δεν προκρίθηκαν στο Γ γύρο και πέτυχαν βαθμολογία μεγαλύτερη ή ίση του 60 (Group 2). Σας παρακαλούμε να είστε στην ώρα σας. Για απορίες μπορείτε να αποταθείτε στο ppavlikas@gmail.com ή στο τηλέφωνο 99542086 (Παύλος Παυλικκάς)

Σημειώση: Στην περίπτωση που υπάρξουν αλλαγές θα ενημερωθήτε εγκαίρως.

Πρόγραμμα Group 1

Ώρα

Τετάρτη
23/4

Πέμπτη
24/4

9:30-10:00

Διαδικαστικά

Dynamic programming
(Αξιώτης, Παπασπύρου)

10:00-12:00

Γράφοι
(Στυλιανού)

Γράφοι
(Στυλιανού)

12:00-13:00

 Συνδυαστική και
θεωρία αριθμών
(Αξιώτης, Παπασπύρου)

 Υπολογιστική γεωμετρία
(Αξιώτης, Παπασπύρου)

13:00-14:00

Φαγητό

14:00-17:00

 STL best practice
(Αξιώτης, Παπασπύρου)

 Advanced data structures
(Αξιώτης, Παπασπύρου)

17:00-19:00

Greedy, divide & conquer
(Αξιώτης, Παπασπύρου)

More dynamic programming
(Αξιώτης, Παπασπύρου)

 

Πρόγραμμα Group 2

Ώρα

Τετάρτη

23/4

Πέμπτη

24/4

10:30-13:15

Δυαδικά δέντρα (γενικά, insert,find), Δέντρα στην stl
- map, set, pair

(Ηρακλέους)

Ουρές,  priority_queue, υλοποίηση Dijkstra με priority_queue

(Ηρακλέους)

13:15-14:15

Φαγητό

14:15-18:15

Πολυπλοκότητα – Brute Force – Greedy –Γράφοι (DFS-BFS)

(Παυλικκάς)

Αναδρομή

DP  - Προβλήματα

(Παυλικκάς)

Avatar of Pavlos

by Pavlos

Αποτελέσματα Β’ Γύρου

1 April 2014 in Γύρος Β

Οι παρακάτω μαθητές καλούνται για να συμμετάσχουν στη Γ και Δ φάση της Παγκύπριας Ολυμπιάδας Πληροφορικής.

Ονοματεπώνυμο Α Β C D Total
Ραφαήλ Λοΐζου 100 100 10 100 310
Αδάμος Ττοφαρή 100 100 10 100 310
Γιώργος Γαβριήλ 100 100 0 100 300
Μιχάλης Ψάλιος 100 60 40 100 300
Άγγελος Πελεκάνος 100 100 40 10 250
Σταύρος Χρυσέλης 80 60 10 100 250
Αντρέας Θεοχάρους 100 40 0 90 230
Νικόλας Μιχαήλ 100 0 20 100 220
Παναγιώτης Παναγιώτου 100 60 0 30 190
Άγγελος Άσσος 100 10 20 0 130
Δημήτρης Κυριάκου 50 50 20 0 120
Αντρέας Σωτηρίου 100 0 20 0 120

 

Η εξέταση της Γ φάσης θα πραγματοποιηθεί στο Λύκειο Αγίου Αντωνίου στις 27/4. Θα προηγηθεί 2-ήμερο camp στις 23-24/4 (το πρόγραμμα θα ανακοινωθεί αργότερα). Η Δ’ φάση θα γίνει τον Ιούνιο σε ημερομηνία που θα ανακοινωθεί αργότερα.  Υπενθυμίζουμε ότι για τη διεκδίκηση θέσης στη ομάδα της ΒΟΙ έχουν μόνο όσοι είναι μαθητές την σχολική χρονιά 2013-2014.

Επίσης καλούμε σε 2-ήμερο camp στις 23-24/4 τους παρακάτω μαθητές. Σκοπός αυτού του camp θα είναι η καλύτερη προετοιμασία των μαθητών για τη νέα χρονιά.

Ονοματεπώνυμο
Στυλιανός Χαραλάμπους
Αντώνιος Παπαϊωάννου
Αντρέας Μυλιδώνης
Ευριπίδης Παπαευριπίδης
Περικλής Σοφοκλέους
Άρης Τζιαπούρας
Θεόδωρος Κωνσταντινίδης
Λοΐζος Νικολάου
Ανδρόνικος Χαραλάμπους

 

Avatar of Pavlos

by Pavlos

Συμμετοχή στο Β γύρο

27 March 2014 in Γύρος Β

Οι πιο κάτω μαθητές έχουν εξασφαλίσει το δικαίωμα συμμετοχής στην εξέταση του Β γύρου που θα γίνει στις 29/3.

Γιώργος Γαβριήλ

Παναγιώτης Παναγιώτου

Άγγελος Πελεκάνος

Μιχάλης Ψάλιος

Ραφαήλ Λοϊζου

Αδάμος Ττοφαρή

Αντρέας Θεοχάρους

Σταύρος Χρυσέλης

Άγγελος Άσσος

Περικλής Σοφοκλέους

Κυριάκος Ιωάννου

Γιώργος Κόνικκος

Αντρέας Μυλιδώνης

Αντρέας Σωτηρίου

Αντώνιος Παπαϊωάννου

Δαμιανός Παππάς

Άρης Τζιαπούρας

Mina Akram

Δημήτρης Κυριάκου

Παναγιώτης Γαβριήλ

Στυλιανός Χαραλάμπους

Λοϊζος Νικολάου

Θεόδωρος Κωνσταντινίδης

Στυλιανός Μιλισάβλιεβιτς

Νικόλας Μιχάηλ

Ευριπίδης Παπαευριπίδης

Δημήτρης Τρύφωνος

Ανδρόνικος Χαραλάμπους

Avatar of Pavlos

by Pavlos

B Γύρος

25 March 2014 in Γύρος Β

Το σύστημα για τις υποβολές των προκαταρκτικών προβλημάτων του Β γύρου θα κλείσει στις 26/3 η ώρα 23:59. Η εξέταση του Β γύρου θα γίνει στις 29/3 τις ώρες 10:00-14:00. Θα λειτουργήσουν 2 εξεταστικά κέντρα, ένα στη Λευκωσία στο Λύκειο Αποστόλου Βαρνάβα (για τους μαθητές της Λευκωσίας και Λάρνακας) και ένα στη Λεμεσό στο Λύκειο Αγίου Αντωνίου (για τους μαθητές της Λεμεσού και Πάφου). Δικαίωμα συμμετοχής στο Β γύρο έχουν όσοι εξασφάλισαν το 50% της βαθμολογίας των προκαταρκτικών προβλημάτων.

Avatar of Pavlos

by Pavlos

Problem D

16 March 2014 in Προκαταρκτικά Προβλήματα

Problem D (time limit:0.01 sec, memory limit: 2 MB)

Ο διάσημος χημικός Tulip Joseph έχει μπροστά του σε μια γραμμή Ν μπουκαλάκια με διαλύματα. Κάθε μπουκαλάκι έχει πάνω του ένα χρωματιστό αυτοκόλλητο. Υπάρχουν 100 διαφορετικά χρωματιστά αυτοκόλλητα με αρίθμηση από το 0 μέχρι και το 99.

Ο Tulip θέλει να αναμείξει όλα τα διαλύματα μαζί. Σε κάθε στάδιο θα παίρνει 2 διαδοχικά διαλύματα (a και b) και θα τα αναμειγνύει μεταξύ τους.  Το χρώμα του νέου διαλύματος θα είναι (a+b) mod 100. Επίσης σε κάθε χημική αντίδραση θα απελευθερώνεται και μια ποσότητα υδρογόνου. Ο όγκος του αέριου υδρογόνου που παράγεται όταν αναμείξουμε δύο διαλύματα με χρώματα a και β είναι a*b .

Βρείτε τον ελάχιστο όγκο υδρογόνου που μπορεί να παραχθεί όταν αναμείξουμε όλα τα διαλύματα.

Είσοδος (D.in)

Γραμμή 1 Ένας ακέραιος αριθμός Ν (2<=Ν<=100) που αντιστοιχεί στον αριθμό των διαλυμάτων
Γραμμή 2 Ν ακέραιοι αριθμοί που αντιστοιχούν στα χρώματα των διαλυμάτων. Κάθε αριθμός είναι μοναδικός και βρίσκεται μέσα στο διάστημα 0 με 99.

Έξοδος  (D.out)

O όγκος του υδρογόνου

Παράδειγμα 1

Είσοδος

2

18 19

Έξοδος

342

Παράδειγμα 2

Είσοδος

3

40 60 20

Έξοδος

2400

 

Επεξήγηση παραδείγματος 2

-          Περίπτωση 1

Αναμειγνύουμε το 1ο με το 2ο. Θα μας δώσει 2400 (40*60) όγκο υδρογόνου και το νέο διάλυμα θα έχει χρώμα 0 ((40+60) mod 100). Αναμειγνύουμε το νέο διάλυμα με χρώμα 0 με το 3ο διάλυμα. Η ανάμειξη θα μας δώσει 0 υδρογόνο. Συνολικά θα έχουμε 2400 υδρογόνο.

-          Περίπτωση 2

Αναμειγνύουμε το 2ο με το 3ο. Θα μας δώσει 1200 (60*20) όγκο υδρογόνου και το νέο διάλυμα θα έχει χρώμα 80 ((60+20) mod 100). Αναμειγνύουμε το νέο διάλυμα με χρώμα 80 με το 1ο διάλυμα. Η ανάμειξη θα μας δώσει 3200 υδρογόνο. Συνολικά θα έχουμε 4400 υδρογόνο.

 

The famous chemist Tulip Joseph has n bottles with mixtures in front of him, arranged in a row. Each bottle has color sticker on it. There are 100 different stickers and every sticker has a number from 0 to 99.

Tulip wants to mix all these mixtures together. At each step, he is going to take two mixtures that stand next to each other and mix them together. When mixing two mixtures of colors a and b, the resulting mixture will have the color (a+b) mod 100. Also every chemical reaction will release an amount of hydrogen. The volume of hydrogen when mixing two mixtures of colors a and b is a*b.

Find out what is the minimum amount of hydrogen that will be produced when mixing all the mixtures together.

Input (D.in)

Row  1 An integer number Ν (2<=Ν<=100) which represents the numbers of mixtures
Row 2 Ν integer numbers – the initial colors of mixtures. Every number is unique and it is between 0 and 99

Output (D.out)

The volume of hydrogen

Example  1

Input

2

18 19

Output

342

Example 2

Input

3

40 60 20

Output

2400

 

Explanation of example 2

-          Case  1

Mix the 1st with the 2nd mixture. This will produce 2400 (40*60) volume of hydrogen. The color of the new mixture will be 0 ((40+60) mod 100).  We mix the new mixture with the 3rd. This will produced 0 volume of hydrogen.  Total volume of hydrogen is 2400.

-          Case 2

Mix the 2nd with the 3rd mixture. This will produce 1200 (60*20) volume of hydrogen. The color of the new mixture will be 80 ((60+20) mod 100).  We mix the new mixture with the 1st. This will produced 3200 volume of hydrogen.  Total volume of hydrogen is 4400.

 

Avatar of Pavlos

by Pavlos

Problem C

2 March 2014 in Προκαταρκτικά Προβλήματα

Problem C (time limit:0.02 sec, memory limit: 4 MB)

 

Ο Swampy ο κροκόδειλος λατρεύει να κάνει μπάνιο. Δυστυχώς όμως δεν είναι εύκολο να έχει πρόσβαση σε νερό. Η μπανιέρα του Swampy βρίσκεται στην κάτω δεξιά γωνία ενός ορθογώνιου πλέγματος τετραγώνων στα οποία βρίσκονται περιστρεφόμενοι σωλήνες υδροδότησης. Ο Swampy μπορεί να περιστρέψει αυτούς τους σωλήνες κατά 90ο (δεξιόστροφα ή αριστερόστροφα). Για να μπορέσει ο Swampy να γεμίσει τη μπανιέρα του πρέπει να περιστρέψει τους σωλήνες με τέτοιο τρόπο ώστε το νερό να μπορεί να φτάσει απρόσκοπτα από το ντεπόζιτο (το οποίο βρίσκεται στην πάνω αριστερή γωνία του πλέγματος), στη μπανιέρα του. Να βρείτε τον ελάχιστο αριθμό σωλήνων που πρέπει να περιστρέψει ο Swampy για να γεμίσει τη μπανιέρα του.

c1

Εικόνα 1

Για παράδειγμα, αν στο πιο πάνω πλέγμα (Εικόνα 1) περιστρέψουμε οποιοδήποτε σωλήνα της τέταρτης στήλης θα μπορεί το νερό να φτάσει στην μπανιέρα.

 

c2

Εικόνα 2

 

Στην Εικόνα 2 έχουμε περιστρέψει το τετράγωνο D1 κατά 90ο αριστερόστροφα και έτσι το νερό μπορεί να φτάσει στη μπανιέρα του Swampy.

Δεδομένα εισόδου (αρχείο C.in)

  • Δύο ακέραιοι αριθμοί Ν και Μ (1<=N,M<=500), οι διαστάσεις του πλέγματος
  • Στις επόμενες Ν γραμμές ακολουθούν Μ σύμβολα, το / ή το \ που δείχνουν την αρχική τοποθέτηση των σωλήνων

Δεδομένα εξόδου (αρχείο C.out)

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

Παράδειγμα εισόδου (Το παράδειγμα εισόδου αντιστοιχεί στην Εικόνα 1)

3 5

c3

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

1

 

 

Problem C (time limit:0.02 sec, memory limit: 4 MB)

Swampy the crocodile loves to bathe. Unfortunately he has difficulty accessing water. Swampy’s bath tub is located at the lower left side of a rectangular plane of tiles, each one carrying a rotating water pipe. Swampy can rotate these pipes by 90ο (clockwise or counterclockwise). In order to fill up his tub Swampy must rotate the pipes in such a way that the water can travel from the water tank (located on the upper left corner of the plane) to his tub. Find the minimum numbers of pipes Swampy must rotate in order to fill up his tub.

c1

Image 1

For example, if we rotate any of the tiles on the fourth column (Image 1) the water can access the tub.

 c2

Image 2

 

In Image 2 we have rotated tile D1 by 90οcounterclockwise so the water can reach the tub.

Input (file C.in)

  • The first line of input contains two integer numbers N and M (1<=N, M<=500), the dimensions of the plane
  • In each of the following N lines there are M symbols – either \ or / – which indicate the direction of the pipes

Output (file C.out)

There must be exactly one line of output. If it is possible for the water to reach the tub, this line must contain only one integer number: the minimum number of pipes that have to be rotated to fill the tub. If it is not possible, output «NO SOLUTION».

Input example (The example input corresponds to Image 1)

3 5

c3

Output example

1

Avatar of Pavlos

by Pavlos

Problem B (memory limit 2 MB, time limit 0.2 sec)

17 February 2014 in Γύρος Β, Προκαταρκτικά Προβλήματα

Problem B (memory limit  2 MB, time limit 0.2 sec)

A new highway will connect Paralimni with Kato Pyrgos. Ariadne decided to open a franchise of restaurants at the villages and towns where you can have access through the highway. Unfortunately she doesn’t have the names of the towns and villages, but she has the connections of them. Also for every town/village there is an integer number X (0<X<=10000) which declares the weight of population. Help Ariadne by creating a program that will indicate the towns/villages where she must build a restaurant. The towns/villages must be present in descending order by the weight of population. In case those two places have the same population weight the places are sorted in alphabetical order.

Data Input (B.in)

N (1<N<=2005) connections. Each connection is consisted from 2 cities (A,B) and it represents the connection from city A to city B. For every city it is given the name and the weight population. Paralimni will be called as Start with population weight 0 and Kato Pyrgos with Finish and population weight 10001.

Data Output (B.out)

The cities and villages where Ariadne will built her restaurants sorted as it has been described above.

Example Input 1

Start 0 Larnaca 40

Paphos 70 Finish 10001

Nicosia 90 Finish 10001

Larnaca  40 Paphos 70

Limasol 50 Paphos 70

Limasol 50 Larnaca 40

Nicosia 90 Limasol 50

Example Output 1

Paphos

Larnaca

 

Explanation

ep1

Example Input 2

Paphos 40 Finish 10001

Nicosia 90 Finish 10001

Start 0 Larnaca 40

Larnaca  40 Paphos 40

Limasol 40 Larnaca 40

Larnaca 40 Limasol 40

Nicosia 90 Limasol 40

Example Output 2

Larnaca

Limasol

Paphos

Explanation

ep2

Avatar of Pavlos

by Pavlos

Πρόβλημα Β (memory limit 2 MB, time limit 0.2 sec)

17 February 2014 in Γύρος Β, Προκαταρκτικά Προβλήματα

Ένας νέος αυτοκινητόδρομος θα συνδέει το Παραλίμνι με τον Κάτω Πύργο. Η Αριάδνη αποφάσισε να ανοίξει μια αλυσίδα εστιατορίων στα χωριά και τις πόλεις από όπου περνά ο αυτοκινητόδρομος καθώς και στις πόλεις/χωριά στις οποίες θα έχει πρόσβαση από τον αυτοκινητόδρομο. Δυστυχώς δεν έχει τα ονόματα των χωριών και των πόλεων από όπου θα περνά ο αυτοκινητόδρομος, έχει όμως τις συνδέσεις μεταξύ τους. Επίσης για κάθε πόλη/χωρίο υπάρχει ένας ακέραιος αριθμός Χ (0<Χ<=10000) που δηλώνει την πληθυσμιακή βαρύτητα. Βοηθήστε την Αριάδνη δημιουργώντας ένα πρόγραμμα που θα παρουσιάζει τις τοποθεσίες στις οποίες θα πρέπει να κτίσει εστιατόριο. Οι τοποθεσίες είναι ταξινομημένες σε φθίνουσα σειρά με βάση την πληθυσμιακή βαρύτητα. Σε περίπτωση που υπάρχουν τοποθεσίες με την ίδια πληθυσμιακή βαρύτητα η ταξινόμηση γίνεται αλφαβητικά (αύξουσα). Το Παραλίμνι και ο Κάτω Πύργος δε συμπεριλαμβάνονται σε αυτές τις τοποθεσίες.

Δεδομένα Εισόδου (Β.in)

Ν (1<N<=2005) συνδέσεις. Κάθε σύνδεση αποτελείται από 2 πόλεις (Α,Β) και παρουσιάζει τη σύνδεση από την πόλη Α στην πόλη Β. Για κάθε πόλη δίνεται το όνομα και η πληθυσμιακή της βαρύτητα. Το Παραλίμνι θα συμβολίζεται με τη λέξη Start και πληθυσμιακή βαρύτητα 0 και ο Κάτω Πύργος με τη λέξη Finish και πληθυσμιακή βαρύτητα 10001.

Δεδομένα Εξόδου (B.out)

Οι πόλεις και τα χωριά  όπου θα κτίσει εστιατόριο η Αριάδνη, ταξινομημένα όπως περιγράφηκε πιο πάνω.

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

Start 0 Larnaca 40

Paphos 70 Finish 10001

Nicosia 90 Finish 10001

Larnaca  40 Paphos 70

Limasol 50 Paphos 70

Limasol 50 Larnaca 40

Nicosia 90 Limasol 50

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

Paphos

Larnaca

 

Επεξήγηση

ep1

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

Paphos 40 Finish 10001

Nicosia 90 Finish 10001

Start 0 Larnaca 40

Larnaca  40 Paphos 40

Limasol 40 Larnaca 40

Larnaca 40 Limasol 40

Nicosia 90 Limasol 40

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

Larnaca

Limasol

Paphos

 

Επεξήγηση

ep2

A – Stacking boxes

2 February 2014 in 2014, Γύρος Β, Προκαταρκτικά Προβλήματα

You have created a robot with stacking capabilities. The robot can stack boxes from the largest to the smallest. If one of the boxes is larger than the top of the current stack, the robot will search the stacks it has created, from left to right (in ascending order of creation), and if there is an available stack it will put the box on top of it. Otherwise, it will create a new stack. When the boxes are stacked they cannot be removed.

Input (stdin)

  • Integer Ν (1<=Ν<=10000), the number of boxes
  • Ν integers Μ (1<=Μ<=1000), the size of each box

Output (stdout)

The number of stacks created

Sample Input 1

5
5 4 3 3 1

Sample Output 1

1

Sample Input 2

7
20 15 12 14 9 11 10

Sample Output 2

2

Sample Input 3

12
20 19 22 20 21 40 30 15 20 100 120 90

 

Sample Output 3

6

Output details

In sample input 1 stacks the boxes one over the other. The boxes with size 3 can be put on top of each other.

In sample input 2 when the robot picks up the box size 11 it stacks the box on the previous stack on top of the box size 12 instead of creating a new stack. Final arrangement is as follows:

10
11
12
15 9
20 14

With sample input 3 we get the following arrangement:

   20    15
19 20    30      90
20 22 21 40 100 120

A – Στοιβάζοντας κιβώτια

2 February 2014 in 2014, Γύρος Β, Προκαταρκτικά Προβλήματα

Έχετε δημιουργήσει ένα ρομπότ με τη δυνατότητα ταξινόμησης κιβωτίων. Το ρομπότ ταξινομεί τα κιβώτια σε στοίβες, από το μεγαλύτερο στο μικρότερο ανάλογα με το μέγεθος του κάθε κιβωτίου. Αν κάποιο από τα κιβώτια είναι μεγαλύτερο από την κορυφή της τρέχουσας στοίβας, τότε το ρομπότ ελέγχει αν υπάρχει η δυνατότητα να τοποθετήσει το κιβώτιο σε προηγούμενες στοίβες ξεκινώντας από τα αριστερά προς τα δεξιά (δηλαδή σε αύξουσα σειρά δημιουργίας). Σε περίπτωση που δεν υπάρχει αυτή η δυνατότητα τότε το ρομπότ δημιουργεί μια νέα στοίβα και τοποθετεί σε αυτήν το κιβώτιο. Το ρομπότ αφού στοιβάσει τα κιβώτια δεν έχει τη δυνατότητα να τα μετακινήσει.

Δεδομένα εισόδου (stdin)

  • Αριθμός Ν (1<=Ν<=10000), ο αριθμός των κιβωτίων
  • Ν αριθμοί Μ (1<=Μ<=1000) το μέγεθος κάθε κιβωτίου

Δεδομένα εξόδου (stdout)

Το πλήθος των στοιβών που έχουν δημιουργηθεί.

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

5
5 4 3 3 1

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

1

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

7
20 15 12 14 9 11 10

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

2

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

12
20 19 22 20 21 40 30 15 20 100 120 90

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

6

Επεξήγηση παραδειγμάτων:

Στο παράδειγμα εισόδου 1 το ρομπότ τοποθετεί τα κιβώτια σε μια στοίβα το ένα πάνω από το άλλο. Τα κιβώτια με μέγεθος 3 μπορούν να τοποθετηθούν το ένα πάνω στο άλλο.

Στο παράδειγμα εισόδου 2 όταν το ρομπότ πιάσει το κιβώτιο 11 βλέπει ότι υπάρχει η δυνατότητα τοποθέτησης στη στοίβα 1 πάνω από το κιβώτιο 12, αντί να δημιουργήσει νέα στοίβα. Το τελικό αποτέλεσμα είναι  το πιο κάτω:

10
11
12
15 9
20 14

Στο παράδειγμα εισόδου 3 θα έχουμε τις πιο κάτω στοίβες:

   20    15
19 20    30      90
20 22 21 40 100 120
%d bloggers like this: