Cross Spirals
Σε ένα παλιό σπίτι υπάρχει ένα δωμάτιο που έχει σχήμα σταυρού. Μπορείτε να σκεφτείτε ότι ένας σταυρός είναι ένα ορθογώνιο περίγραμμα με τέσσερα μικρότερα ορθογώνια στις γωνίες. Το δάπεδο του δωματίου είναι πλήρως καλυμμένο με τετράγωνα πλακάκια. Η Bridget περπατά στο δωμάτιο, πηγαίνοντας από το ένα πλακάκι στο άλλο, προχωρώντας με σπειροειδή τρόπο προς το κέντρο. Η Bridget περπατά πάντα δεξιόστροφα και μένει όσο πιο κοντά γίνεται στην άκρη του δωματίου χωρίς να πατήσει κανένα πλακάκι δύο φορές. Είναι πιθανό να παγιδευτεί και να μην μπορεί να μετακινηθεί σε ένα γειτονικό πλακίδιο, πριν φτάσει σε όλα τα πλακάκια του δωματίου.
Ας υποθέσουμε ότι η επάνω αριστερή γωνία του ορθογωνίου περιγράμματος είναι η θέση , δηλαδή η στήλη και η σειρά . Η βόλτα ξεκινά πάντα από τη στήλη και τη σειρά , όπου το είναι η πιο αριστερή στήλη της σειράς στο σταυρό. Το πλακίδιο στη θέση δεν μπορεί να επανεξεταστεί κατά τη διάρκεια της βόλτας, ωστόσο το πρώτο βήμα μετράται όταν η Bridget μετακινείται σε ένα γειτονικό πλακίδιο.
Γράψτε ένα πρόγραμμα που να υπολογίζει τη θέση της τελευταίας στήλης και γραμμής της Bridget στο δωμάτιο μετά τη βόλτα. Το πρόγραμμα πρέπει να δέχεται στοιχεία εισόδου για τις διαστάσεις του σταυρού: δηλαδή το πλάτος και το ύψος του ορθογωνίου περιγράμματος, το πλάτος και το ύψος των "κομμένων" ορθογωνίων και τον αριθμό των βημάτων που θα κάνει το άτομο. Στο διάγραμμα, οι είσοδοι για τις διαστάσεις του σταυρού είναι:
Με άλλα λόγια, το ορθογώνιο περίγραμμα έχει πλάτος μονάδες και ύψος μονάδες. Τα "κομμένα" ορθογώνια έχουν πλάτος μονάδες και ύψος μονάδες
Το μέγιστο πλάτος και ύψος του ορθογωνίου περιγράμματος θα είναι . Το ελάχιστο πλάτος του σταυρού θα είναι . Τα κατακόρυφα και οριζόντια μέρη του σταυρού δεν έχουν απαραίτητα το ίδιο πλάτος.
Παράδειγμα
input
10
8
3
2
15
output
7
7
Επεξήγηση του 1ου παραδείγματος:
Παράδειγμα που αφορά το παραπάνω δωμάτιο, στο οποίο η Bridget κάνει βήματα και καταλήγει στη στήλη . και σειρά 7
input
8
7
2
2
27
output
5
2
Επεξήγηση του 2ου παραδείγματος:
στήλες επί σειρές, με ορθογώνια , αφαιρεμένα από τις γωνίες. Μετά από βήματα, καταλήγουμε στη στήλη και τη σειρά .
input
8
7
2
2
40
output
7
4
Επεξήγηση του 3ου παραδείγματος:
Πρόκειται για ίδιο δωμάτιο με το παραπάνω, αλλά μετά από βήματα, βρισκόμαστε στη στήλη και τη σειρά .
input
6
6
1
2
1
output
3
1
Επεξήγηση του 4ου παραδείγματος:
Ένα τετράγωνο , με τις γωνίες να είναι ορθογώνια πλάτους και ύψους . Μετά από ένα βήμα, καταλήγουμε στη στήλη και τη σειρά .
Comments