CCC-05 (2005) - J4 (Spiral)

View as PDF

Submit solution

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

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

Σε ένα παλιό σπίτι υπάρχει ένα δωμάτιο που έχει σχήμα σταυρού. Μπορείτε να σκεφτείτε ότι ένας σταυρός είναι ένα ορθογώνιο περίγραμμα με τέσσερα μικρότερα ορθογώνια στις γωνίες. Το δάπεδο του δωματίου είναι πλήρως καλυμμένο με τετράγωνα πλακάκια. Η Bridget περπατά στο δωμάτιο, πηγαίνοντας από το ένα πλακάκι στο άλλο, προχωρώντας με σπειροειδή τρόπο προς το κέντρο. Η Bridget περπατά πάντα δεξιόστροφα και μένει όσο πιο κοντά γίνεται στην άκρη του δωματίου χωρίς να πατήσει κανένα πλακάκι δύο φορές. Είναι πιθανό να παγιδευτεί και να μην μπορεί να μετακινηθεί σε ένα γειτονικό πλακίδιο, πριν φτάσει σε όλα τα πλακάκια του δωματίου.

Ας υποθέσουμε ότι η επάνω αριστερή γωνία του ορθογωνίου περιγράμματος είναι η θέση (1, 1), δηλαδή η στήλη 1 και η σειρά 1. Η βόλτα ξεκινά πάντα από τη στήλη X και τη σειρά 1, όπου το X είναι η πιο αριστερή στήλη της σειράς 1 στο σταυρό. Το πλακίδιο στη θέση (X, 1) δεν μπορεί να επανεξεταστεί κατά τη διάρκεια της βόλτας, ωστόσο το πρώτο βήμα μετράται όταν η Bridget μετακινείται σε ένα γειτονικό πλακίδιο.

Γράψτε ένα πρόγραμμα που να υπολογίζει τη θέση της τελευταίας στήλης και γραμμής της Bridget στο δωμάτιο μετά τη βόλτα. Το πρόγραμμα πρέπει να δέχεται στοιχεία εισόδου για τις διαστάσεις του σταυρού: δηλαδή το πλάτος και το ύψος του ορθογωνίου περιγράμματος, το πλάτος και το ύψος των "κομμένων" ορθογωνίων και τον αριθμό των βημάτων που θα κάνει το άτομο. Στο διάγραμμα, οι είσοδοι για τις διαστάσεις του σταυρού είναι: 10\;8\;3\;2

Με άλλα λόγια, το ορθογώνιο περίγραμμα έχει πλάτος 10 μονάδες και ύψος 8 μονάδες. Τα "κομμένα" ορθογώνια έχουν πλάτος 3 μονάδες και ύψος 2 μονάδες

Το μέγιστο πλάτος και ύψος του ορθογωνίου περιγράμματος θα είναι 20 \times 20. Το ελάχιστο πλάτος του σταυρού θα είναι 1. Τα κατακόρυφα και οριζόντια μέρη του σταυρού δεν έχουν απαραίτητα το ίδιο πλάτος.

Παράδειγμα

input

10
8
3
2
15

output

7
7
Επεξήγηση του 1ου παραδείγματος:

Παράδειγμα που αφορά το παραπάνω δωμάτιο, στο οποίο η Bridget κάνει 15 βήματα και καταλήγει στη στήλη 7. και σειρά 7


input

8
7
2
2
27

output

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

8 στήλες επί 7 σειρές, με ορθογώνια 2 \times 2, αφαιρεμένα από τις γωνίες. Μετά από 27 βήματα, καταλήγουμε στη στήλη 5 και τη σειρά 2.


input

8
7
2
2
40

output

7
4
Επεξήγηση του 3ου παραδείγματος:

Πρόκειται για ίδιο δωμάτιο με το παραπάνω, αλλά μετά από 40 βήματα, βρισκόμαστε στη στήλη 7 και τη σειρά 4.


input

6
6
1
2
1

output

3
1
Επεξήγηση του 4ου παραδείγματος:

Ένα τετράγωνο 6 \times 6, με τις γωνίες να είναι ορθογώνια πλάτους 1 και ύψους 2. Μετά από ένα βήμα, καταλήγουμε στη στήλη 3 και τη σειρά 1.


Comments

There are no comments at the moment.