COI-17 (2017) - 2 (Raspad)

View as PDF

Submit solution

Points: 50 (partial)
Time limit: 6.0s
Memory limit: 1G

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

Ένα κοντινό λιβάδι αποτελείται από τετραγωνικά πεδία οργανωμένα σε n σειρές και m στήλες. Οι σειρές συμβολίζονται με αριθμούς από το 1 έως το n από πάνω προς τα κάτω και οι στήλες με αριθμούς από το 1 έως το m από αριστερά προς τα δεξιά. Μερικά πεδία είναι πεδία με γρασίδι (που συμβολίζονται με "1"), ενώ μερικά είναι υποβρύχια λόγω των βαριών ανοιξιάτικων βροχοπτώσεων (συμβολίζονται με "0"). Δύο πεδία με γρασίδι συνδέονται εάν είναι δυνατό να φτάσετε από ένα πεδίο σε ένα άλλο χρησιμοποιώντας μια σειρά κινήσεων όπου, σε κάθε βήμα, κινούμαστε στο διπλανό χωράφι με γρασίδι που βρίσκεται πάνω, κάτω, αριστερά ή δεξιά. Ένα συστατικό είναι ένα σύνολο από αμοιβαία συνδεδεμένα πεδία με γρασίδι που είναι μέγιστο με την έννοια ότι, εάν το A είναι ένα πεδίο στο συστατικό K, τότε όλα τα διπλανά πεδία με γρασίδι του A βρίσκονται επίσης στο συστατικό K.
Για ένα δεδομένο λιβάδι P και τους δείκτες a και b (1 \le a \le b \le n), το P_{b}^{a} είναι ένα λιβάδι που αποτελείται από σειρές μεταξύ την a-οστή και η b-οστή σειρά του αρχικού λιβαδιού P (συμπεριλαμβανομένης της a-οστής και της b-οστής σειράς). Η πολυπλοκότητα του λιβαδιού P_{b}^{a} είναι ο αριθμός των συστατικών των πεδίων με γρασίδι που βρίσκονται στο λιβάδι. Προσδιορίστε το άθροισμα της πολυπλοκότητας όλων των πιθανών λιβαδιών P_{b}^a.

Είσοδος

Η πρώτη γραμμή εισόδου περιέχει τους θετικούς ακέραιους αριθμούς n και m - διαστάσεις του λιβαδιού. Κάθε μία από τις ακόλουθες n γραμμές περιέχουν μια συμβολοσειρά ακριβώς m χαρακτήρων που υποδηλώνει μια σειρά του λιβαδιού. Καθε χαρακτήρας της συμβολοσειράς είναι είτε το ψηφίο "0" ή το ψηφίο "1".

Έξοδος

Πρέπει να εκτυπώσετε το απαιτούμενο άθροισμα όλων των πολυπλοκοτήτων.

Βαθμολογία
 Υποπρόβλημα    Βαθμοί   Περιορισμοί
1 9 n \le 100,\,m \le 50
2 17 n \le 1\,000,\,m \le 50
3 35  n \le 100\,000,\,m \le 15
4 39 1 \le n \le 100\,000,\,m \le 50
Παραδείγματα

input

4 4
1101
1111
1010
1011

output

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

Αν συμβολίσουμε την πολυπλοκότητα του λιβαδιού P_{b}^{a} με |P_{b}^{a}| τότε ισχύει ότι |P_1^1| = 2,\,|P_2^1| = 1,\,|P_3^1| = 1,\,|P_4^1| = 1,\,|P_2^2| = 1,\,|P_3^2 | = 1,\,|P_4^2| = 1,\,|P_3^3| = 2,\,|P_4^3| = 2,\,|P_4^4| = 2, και το άθροισμα αυτών των αριθμών είναι 14.


input

5 7
0100010
0111110
0101001
1111011
0100100

output

33

input

4 12
011111010111
110000101001
110111101111
111101111111

output

28

Comments

There are no comments at the moment.