UVa-10012 - How Big Is It?

View as PDF

Submit solution

Points: 60 (partial)
Time limit: 1.0s
Memory limit: 16M

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

How Big Is It?

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

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

uva10012-figure.svg
Είσοδος

Η πρώτη γραμμή εισόδου περιέχει έναν θετικό δεκαδικό ακέραιο n, n \le 50, ο οποίος υποδηλώνει τον αριθμό των γραμμών που ακολουθούν. Οι επόμενες n γραμμές περιέχουν η καθεμία μια σειρά αριθμών που χωρίζονται με κενά. Ο πρώτος αριθμός σε καθεμία από αυτές τις γραμμές είναι ένας θετικός ακέραιος m, m \le 8, ο οποίος δείχνει πόσοι άλλοι αριθμοί εμφανίζονται σε αυτή τη γραμμή. Οι επόμενοι m αριθμοί στη γραμμή είναι οι ακτίνες των κύκλων που πρέπει να συσκευαστούν σε ένα μόνο κουτί. Αυτοί οι αριθμοί δεν χρειάζεται να είναι ακέραιοι.

Έξοδος

Για κάθε γραμμή δεδομένων εισόδου, εξαιρουμένης της πρώτης γραμμής εισόδου που περιέχει τον αριθμό n, το πρόγραμμά σας πρέπει να εξάγει το μέγεθος του μικρότερου ορθογωνίου που μπορεί να συσκευάσει τους κύκλους. Κάθε περίπτωση θα πρέπει να βγαίνει σε ξεχωριστή γραμμή από μόνη της, με τρία ψηφία μετά την υποδιαστολή. Μην εξάγετε μηδενικά στην αρχή εκτός της περίπτωσης που ο αριθμός είναι μικρότερος από 1, π.χ. 0,543.

Παράδειγμα

input

3
3 2.0 1.0 2.0
4 2.0 2.0 2.0 2.0
3 2.0 1.0 4.0

output

9.657
16.000
12.657

Comments

There are no comments at the moment.