Οδηγίες: Να απαντηθούν όλες οι ερωτήσεις. Αν κάπου κάνετε κάποιες υποθέσεις να αναφερθούν στη σχετική ερώτηση. Όλα τα αρχεία που αναφέρονται στα προβλήματα βρίσκονται στον ίδιο φάκελο με το εκτελέσιμο αρχείο του προγράμματός σας. Διάρκεια: ώρες Καλή επιτυχία! Πρόβλημα 1 (0 μονάδες) Σας δίνεται μία τριγωνική πυραμίδα αποτελούμενη από Ν (1<Ν 1000) επίπεδα η οποία περιέχει ακέραιους αριθμούς. Γράψτε ένα πρόγραμμα το οποίο να βρίσκει το μέγιστο άθροισμα αριθμών όταν ακολουθηθεί μια διαδρομή που ξεκινά από το κορυφαίο επίπεδο και τελειώνει στο πάτο της πυραμίδας. Σε κάθε βήμα μπορείτε να κινηθείτε διαγώνια κάτω είτε προς τα αριστερά είτε προς τα δεξιά, όπως δείχνουν οι γραμμές που ενώνουν τους αριθμούς στο πιο κάτω διάγραμμα. Είσοδος Η πρώτη γραμμή του αρχείου εισόδου περιέχει τον αριθμό Ν. Η πρώτη γραμμή του αρχείου περιέχει τον αριθμό Ν. Οι επόμενες Ν γραμμές περιέχουν ακέραιους για το αντίστοιχο επίπεδο, χωρισμένους με ένα κενό χαρακτήρα. Οι αριθμοί αυτοί είναι ακέραιοι θετικοί με μέγιστη τιμή το 100. Έξοδος Το αρχείο εξόδου πρέπει να περιέχει ένα μόνο αριθμό ο οποίος αντιστοιχεί στο μέγιστο άθροισμα που βρήκε το πρόγραμμα σας. Παράδειγμα 1 Αυτή η πυραμίδα έχει επίπεδα. Στο μέγιστο άθροισμα καταλήγουμε ξεκινώντας από το 8, κινούμενοι στο 12 και μετά στο 7. Το άθροισμα είναι 27. 8 12 1 2 7 8 27 1/7
Παράδειγμα 2 Αυτή η πυραμίδα έχει επίπεδα. Στο μέγιστο άθροισμα καταλήγουμε ακολουθώντας την διαδρομή από το, στο 2, στο 2 και τέλος στο 70. Το άθροισμα είναι 107. 11 2 1 2 2 81 5 70 9 107 Problem 1 (0 points) You are given a triangular pyramid of numbers with N (1<Ν 1000) levels. Write a program that finds the highest sum of numbers starting from the top level and ending at the bottom level of the pyramid. At each step you can go diagonally down to the left or diagonally down to the right as indicated by the lines joining the numbers in the diagrams below. Input The first line of the input file contains N. The following N lines contain the integers for each level, separated by a single space. These integers are positive and have a maximum value of 100. Output The output file should contain a single number, which is the maximum sum that the program has found. 2/7
Εxample 1 The pyramid has levels. The maximum sum is obtained by starting at 8, moving to 12, and then to 7. The sum is 27. 8 12 1 2 7 8 27 Εxample 2 The pyramid has levels. The maximum sum is obtained by following the path from, to 2, to 2, and then to 70. The sum is 107. 11 2 1 2 2 81 5 70 9 107 /7
Πρόβλημα 2 Σας δίνεται ένα διάγραμμα το οποίο είναι ένα τετραγωνικό πλέγμα με διαστάσεις NxN, όπου 1<Ν 100. Κάθε τετράγωνο μέσα στο πλέγμα είναι είτε μαύρο ή άσπρο. Δύο μαύρα τετράγωνα θα τα αποκαλούμε ενωμένα αν εφάπτονται στον οριζόντιο ή στον κάθετο άξονα (όχι στο διαγώνιο). Ορίζουμε σαν αντικείμενο ένα σύνολο από ένα ή περισσότερα μαύρα τετράγωνα τέτοια ώστε κάθε μαύρο τετράγωνο στο αντικείμενο να είναι ενωμένο με τουλάχιστον ένα άλλο μαύρο τετράγωνο του αντικειμένου. Μέρος A (0 μονάδες) Βρείτε πόσα αντικείμενα υπάρχουν στο διάγραμμα. Μέρος Β (0 μονάδες) Βρέστε ποια άσπρα τετράγωνα θα πρέπει να μετατραπούν σε μαύρα έτσι ώστε να υπάρχει μόνο ένα αντικείμενο στο διάγραμμα. Η λύση που θα μετατρέπει τον ελάχιστο αριθμό άσπρων τετραγώνων (βέλτιστη λύση) θα παίρνει όλες τις μονάδες. Οι λύσεις που θα μετατρέπουν μεγαλύτερο αριθμό άσπρων τετραγώνων από τη βέλτιστη λύση θα παίρνουν κι αυτές μονάδες, αλλά θα αφαιρούνται μονάδες για κάθε επιπλέον άσπρο κουτί που μετατρέπεται σε μαύρο. Συνεπώς, όσο περισσότερο αποκλίνει μια λύση από τη βέλτιστη, τόσο λιγότερες μονάδες θα παίρνει. Είσοδος Η πρώτη γραμμή του αρχείου εισόδου περιέχει τον αριθμό Ν. Σε κάθε μία από τις επόμενες Ν γραμμές, θα περιέχονται Ν αριθμοί. Οι αριθμοί αυτοί θα είναι είτε 0 είτε 1 και θα χωρίζονται με ένα κενό χαρακτήρα. Το 0 αντιπροσωπεύει ένα μαύρο τετράγωνο και το 1 ένα άσπρο τετράγωνο. Έξοδος Η πρώτη γραμμή του αρχείου εξόδου θα πρέπει να περιέχει ένα ακέραιο αριθμό, την απάντηση του Μέρους Α. Οι επόμενες Ν γραμμές θα πρέπει να δείχνουν το μετατρεμμένο διάγραμμα με παρόμοιο τρόπο όπως κατά την είσοδο (με 0 και 1). Αυτή τη φορά όμως, στη θέση των 1 που θα μετατραπούν θα πρέπει να τυπώνεται ο αριθμός 2. /7
Παράδειγμα Το διάγραμμα στα αριστερά δείχνει ότι υπάρχουν αντικείμενα. Το διάγραμμα στα δεξιά δείχνει ότι εάν τα τέσσερα λευκά τετράγωνα τα οποία έχουν σημαδευτεί γκρίζα, γίνουν μαύρα, τότε θα υπάρχει ένα μόνο αντικείμενο στο διάγραμμα. Αυτές οι τέσσερις μετατροπές αποτελούν τη βέλτιστη λύση. Δεδομένα εισόδου και αποτέλεσμα εξόδου (βέλτιστη λύση) παραδείγματος. 6 1 0 0 1 1 1 1 0 1 1 1 1 1 1 1 1 0 1 1 0 0 2 2 1 1 0 1 1 2 1 Μια πιθανή μη-βέλτιστη λύση του προβλήματος. 1 1 2 2 0 0 1 0 0 1 1 2 1 0 1 1 1 2 Η λύση αυτή θα έχανε 8% των μονάδων του προβλήματος. 5/7
Problem 2 You are given a diagram which is a square grid with dimensions NxN, where 1<N 100. Each square in the grid is either white or black. Two black squares are said to be connected if they are directly adjacent in the horizontal or vertical direction (not in the diagonal direction). We define an object as a set of one or more black squares such that each black square in the object is connected to at least one other black square in the object. Part A (0 points) Find how many objects there are in the given diagram. Part B (0 points) Determine which white squares need to be converted to black squares so that there will be only one object in the diagram. A solution which converts the least number of white squares (the optimal solution) will be awarded maximum points. Solutions which convert more squares than the optimal will still be awarded points, but will be penalized for each extra square converted to black. Consequently, the more a solution deviates from the optimal one the less points it will be awarded. Input The first line of the input file contains the number N. Each of the following N lines contains N numbers on each line. The numbers on each line are either a 0 or a 1, separated by a single space. A 0 represents a black square, and a 1 represents a white square. Output The first line of the output file should contain the answer to Part A. The next N lines show the grid using 0 s and 1 s as in the input file. However, the 1 s representing the white squares to be converted to black squares should be replaced with the number 2. 6/7
Εxample The diagram on the left shows that there are objects. The diagram on the right shows that if the four white squares marked grey were changed to black, then there would be one object in the diagram. These four changed squares form the optimal solution of this example. Input data and output results (optimal solution) for the example. 6 1 0 0 1 1 1 1 0 1 1 1 1 1 1 1 1 0 1 1 0 0 2 2 1 1 0 1 1 2 1 A non-optimal solution: 1 1 2 2 0 0 1 0 0 1 1 2 1 0 1 1 1 2 This solution would lose 8% of the points. 7/7