COCI-18 (2018) - Γύρος #6 - 2 (Konj)

View as PDF

Submit solution

Points: 30 (partial)
Time limit: 1.0s
Memory limit: 64M

Author:
Problem type
Allowed languages
C, C++, Java, Pascal, Python
Konj

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

Ένα από τα πιο διάσημα σχέδιά του είναι​"#define HORSE 42-42", επίσης γνωστό ως "Συνηθισμένο Άλογο" (Ordinary Horse).

coci18f2-figure.svg

Πρέπει να αναρωτιέστε "Πού είναι αυτό το άλογο;" και "Είναι όλα εντάξει με τον Domagoj;", γιατί βλέπετε μόνο μερικούς αριθμούς στο σχέδιο. Η πρώτη ερώτηση θα απαντηθεί στην επόμενη ενότητα, ενώ η απάντηση στη δεύτερη ερώτηση ενδιαφέρει επίσης τον συγγραφέα αυτής της εργασίας.

Για να κατανοήσετε το σχέδιο, πρέπει να κατανοήσετε την τεχνική σχεδίασης του Domagoj. Ο πρώτος αριθμός στο σχέδιο είναι ο αριθμός N, που δηλώνει τον αριθμό των ευθύγραμμων τμημάτων που μπορεί να έχουν σχεδιαστεί. Στη συνέχεια, οι ακόλουθες N γραμμές έχουν τέσσερις αριθμούς, A_i, B_i, C_i και D_i οι οποίοι περιγράφουν το ίσο ευθύγραμμο τμήμα που εκτείνεται από το σημείο (A_i, B_i) στο σημείο (C_i, D_i). Στην τελευταία γραμμή του σχεδίου υπάρχουν δύο αριθμοί, X και Y, οι συντεταγμένες του σημείου T. Ο Domagoj θα σχεδιάσει όλα τα ευθύγραμμα τμήματα που περιέχουν το σημείο T και όλα αυτά που συνδέονται άμεσα ή έμμεσα με ένα ευθύγραμμο τμήμα που περιέχει το σημείο T. Για δύο ευθύγραμμα τμήματα L_1 και L_2 λέμε ότι συνδέονται άμεσα εάν έχουν κοινό τελικό σημείο και συνδέονται έμμεσα, εάν υπάρχει μια ακολουθία τμημάτων L_1, H_1, H_2, ..., H_k και L_2 που είναι απευθείας συνδεδεμένα.

Η αποστολή σας είναι να εκτυπώσετε έναν ορθογώνιο πίνακα χαρακτήρων P, που εμφανίζει το σχέδιο του Domagoj. Η τιμή P_{a,b} θα πρέπει να οριστεί σαν "#", εάν το σημείο με τις συντεταγμένες (a, b) είναι μέρος κάποιου τμήματος γραμμής που σχεδιάστηκε, διαφορετικά αυτή η τιμή θα πρέπει να οριστεί σαν ".". Η συντεταγμένη a του πίνακα αυξάνεται από αριστερά προς τα δεξιά, ενώ η συντεταγμένη b αυξάνεται από κάτω προς τα πάνω. Ο πίνακας P θα πρέπει να περιέχει όλα τα σημεία που αποτελούν μέρος μιας σχεδιασμένης γραμμής και δεν πρέπει να περιέχει καμία μεμονωμένη γραμμή ή στήλη που περιέχει μόνο χαρακτήρες ".", δηλαδή θα πρέπει να είναι ελάχιστος σε μέγεθος.

Είσοδος

Στην πρώτη γραμμή εισόδου υπάρχει ένας θετικός ακέραιος αριθμός N\;(1 \le N \le 200\,000).

Στις επόμενες N γραμμές υπάρχουν τέσσερις μη αρνητικοί ακέραιοι A_i, B_i, C_i και D_i\;(0 \le A_i, B_i, C_i, D_i \le 300). Για κάθε τμήμα γραμμής θα ισχύει είτε A_i \ne C_i, είτε B_i \ne D_i. Δεν θα τέμνονται δύο ευθύγραμμα τμήματα, αλλά μερικά μπορεί να έχουν κοινό τελικό σημείο. Όλα θα είναι παράλληλα με τους άξονες συντεταγμένων.

Στην τελευταία γραμμή εισόδου θα υπάρχουν δύο μη αρνητικοί ακέραιοι X και Y, οι συντεταγμένες του σημείου T. Το σημείο T θα είναι μέρος τουλάχιστον ενός από τα δοσμένα ευθύγραμμα τμήματα.

Έξοδος

Εκτυπώστε τον απαιτούμενο πίνακα P.

Βαθμολογία

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

Παραδείγματα

input

15
2 2 6 2
2 2 2 6
6 2 6 4
6 4 6 6
2 6 6 6
6 2 8 2
8 2 10 2
10 2 12 2
12 2 12 4
12 4 6 4
6 2 6 1
8 2 8 0
10 2 10 1
12 2 12 0
42 42 42 43
2 2

output

#####......
#...#......
#...#######
#...#.....#
###########
....#.#.#.#
......#...#

input

6
1 1 10 1
10 1 10 3
10 3 1 3
1 3 1 1
10 3 11 3
11 3 11 6
2 1

output

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

Στο πρώτο παράδειγμα θα πρέπει να σχεδιάζονται όλα τα ευθύγραμμα τμήματα, εκτός από το τελευταίο, και στο δεύτερο παράδειγμα όλα τα ευθύγραμμα τμήματα θα πρέπει να σχεδιάζονται για να ληφθεί το σχέδιο του ονόματος​"Συνοπτικό άλογο" (Summarized horse).


Comments

There are no comments at the moment.