CCC-03 (2003) - J5S3 (Floor)

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
Floor Plan

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

ccc03j5s3-figure.svg

Σε αυτό το διάγραμμα υπάρχουν έξι δωμάτια.

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

Είσοδος

Η πρώτη γραμμή του αρχείου εισόδου περιέχει τον αριθμό των τετραγωνικών μέτρων δαπέδου που έχετε.
Η δεύτερη γραμμή του αρχείου περιέχει έναν ακέραιο r (1 \le r \le 25), που αντιπροσωπεύει τον αριθμό των σειρών στο πλέγμα.
Η τρίτη γραμμή περιέχει έναν ακέραιο c (1 \le c \le 25), που αντιπροσωπεύει τον αριθμό των στηλών στο πλέγμα.
Οι υπόλοιπες r γραμμές περιέχουν c χαρακτήρες δεδομένων πλέγματος.

Έξοδος

Τυπώστε τον αριθμό των δωματίων που μπορούν να καλύψουν το πάτωμά τους με σκληρό ξύλο και πόσα τετραγωνικά μέτρα δαπέδου έχουν απομείνει. Κανένα δωμάτιο δεν θα είναι μεγαλύτερο από 64 τετραγωνικά μέτρα.

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

input

105
14
16
IIIIIIIIIIIIIIII
I......I.......I
I......III.....I
I........I.....I
I........IIIIIII
IIIIIIIIII.....I
I.I......I.....I
III..III.I.....I
I....I.IIIII...I
I....I.....III.I
I....I.......I.I
I....I.....III.I
I....I.....I...I
IIIIIIIIIIIIIIII

output

4 rooms, 1 square metre(s) left over

input

13
2
3
.I.
.I.

output

2 rooms, 9 square metre(s) left over

Comments

There are no comments at the moment.