COCI-20 (2020) - Γύρος #6 - 3 (Anagramistica)

View as PDF

Submit solution

Points: 40 (partial)
Time limit: 1.0s
Memory limit: 512M

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

Η Biljana λατρεύει να φτιάχνει σταυρόλεξα. Το αγαπημένο της είδος είναι το λεγόμενο σταυρόλεξο αναγραμματισμού (anagram crossword), όπου κάθε στοιχείο (clue) είναι ένας αναγραμματισμός της απαιτούμενης λύσης.

Η Biljana έχει ένα σύνολο από n υποψήφιες λέξεις που πιστεύει ότι θα ήταν καλές για το επόμενο παζλ της. Λέμε ότι δύο λέξεις είναι παρόμοιες αν η μία μπορεί να ληφθεί από την άλλη με αναδιάταξη των γραμμάτων (δηλαδή είναι αναγραμματισμός της άλλης). Θέλει να επιλέξει ένα υποσύνολο των λέξεων που διαθέτει, έτσι ώστε να υπάρχουν ακριβώς k ζεύγη όμοιων λέξεων σε αυτό το υποσύνολο. Βοηθήστε την Biljana να προσδιορίσει τον αριθμό τέτοιων υποσυνόλων.

Είσοδος

Η πρώτη γραμμή περιέχει ακέραιους αριθμούς n\;(1 \le n \le 2\,000) και k\;(0 \le k \le 2\,000), τον αριθμό των λέξεων και τον απαιτούμενο αριθμό παρόμοιων ζευγών.

Κάθε μία από τις ακόλουθες n γραμμές περιέχει μια λέξη που αποτελείται από το πολύ 10 πεζά γράμματα. Όλες οι λέξεις θα είναι ξεχωριστές.

Έξοδος

Έχει μία γραμμή με τον αριθμό των συνόλων που περιγράφηκαν παραπάνω ως το υπόλοιπο της ακέραιας διαίρεσης του αριθμού αυτού με το 10^9 + 7 (modulo 10^9 + 7).

Βαθμολογίες
 Υποπρόβλημα    Βαθμοί   Περιορισμοί
1 10 1 \le n \le 15
2 30 0 \le k \le 3
3 70 Κανένας επιπλέον περιορισμός.
Παραδείγματα

input

3 1
ovo
ono
voo

output

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

Υποσύνολα με ακριβώς ένα παρόμοιο ζεύγος είναι τα \{ovo,\;ono,\;voo\} και \{ovo,\;voo\}.


input

5 2
trava
vatra
vrata
leo
ole

output

24

input

6 3
mali
lima
imal
je
sve
ej

output

6

Comments

There are no comments at the moment.