OOP
Ο μικρός Matej λύνει μια εργαστηριακή άσκηση OOP (Object-oriented Programming) και έχει πρόβλημα με την επίλυση ενός υποπροβλήματος.
Του δίνεται ένα σύνολο που περιέχει \(Ν\) λέξεις. Του δίνονται επίσης ερωτήματα όπου κάθε ερώτημα είναι ένα μοτίβο. Ένα μοτίβο αποτελείται από έναν μόνο χαρακτήρα "∗" και πεζά γράμματα του αγγλικού αλφαβήτου. Για παράδειγμα, "∗", "kul∗to", "ana∗".
Ένα μοτίβο λέγεται ότι καλύπτει μια λέξη εάν υπάρχει ένας τέτοιος πίνακας γραμμάτων (που μπορεί να είναι κενός) που, όταν αντικαθίσταται ο χαρακτήρας "∗", το μοτίβο και η λέξη γίνονται εντελώς πανομοιότυπα. Είναι απαραίτητο να τυπωθούν πόσες λέξεις καλύπτει κάθε μοτίβο.
Είσοδος
Η πρώτη γραμμή εισόδου περιέχει δύο ακέραιους αριθμούς και .
Κάθε μία από τις ακόλουθες γραμμές περιέχει μια λέξη που αποτελείται από πεζά γράμματα του αγγλικού αλφαβήτου.
Κάθε μία από τις ακόλουθες γραμμές περιέχει ένα μοτίβο για το οποίο πρέπει να τυπώσετε πόσες λέξεις από το πρώτο σύνολο καλύπτει.
Ο συνολικός αριθμός χαρακτήρων θα είναι μικρότερος από .
Έξοδος
Τυπώστε γραμμές, η -οστή γραμμή να περιέχει τον αριθμό των λέξεων που καλύπτει το -οστό μοτίβο.
Βαθμολογία
Σε περιπτώσεις δοκιμής αξίας % των συνολικών πόντων, θα έχει επιπλέον .
Παραδείγματα
input
3 3
aaa
abc
aba
a*a
aaa*
*aaa
output
2
1
1
input
5 3
eedecc
ebdecb
eaba
ebcddc
eb
e*
*dca
e*c
output
5
0
2
Comments