UVa-10036 - Divisibility

View as PDF

Submit solution

Points: 60 (partial)
Time limit: 3.0s
Memory limit: 256M

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

Θεωρήστε μια τυχαία ακολουθία ακέραιων αριθμών. Θα μπορούσαμε να τοποθετήσουμε τους τελεστές + ή - μεταξύ των ακέραιων της ακολουθίας, και έτσι να οδηγηθούμε σε διαφορετικές αριθμητικές εκφράσεις που αποτιμώνται σε διαφορετικές τιμές. Ας πάρουμε, για παράδειγμα, την ακολουθία: 17, 5, -21, 15. Υπάρχουν οκτώ πιθανές εκφράσεις:

17 + 5 +\;-21 + 15 = 16
17 + 5 +\;-21 - 15 = -14
17 + 5 -\;-21 + 15 = 58
17 + 5 -\;-21 - 15 = 28
17 - 5 +\;-21 + 15 = 6
17 - 5 +\;-21 - 15 = -24
17 - 5 -\;-21 + 15 = 48
17 - 5 -\;-21 - 15 = 18

Θα λέμε ότι μια ακολουθία ακέραιων αριθμών διαιρείται με τον K, αν οι τελεστές + ή - μπορούν να τοποθετηθούν μεταξύ των ακέραιων αριθμών της ακολουθίας με τέτοιο τρόπο ώστε η τιμή που προκύπτει να διαιρείται με το K. Στο παραπάνω παράδειγμα, η ακολουθία διαιρείται με το 7 (17+5+-21-15=-14) αλλά δεν διαιρείται με το 5.

Θα πρέπει να γράψετε ένα πρόγραμμα που να προσδιορίζει τη διαιρετότητα μιας ακολουθίας ακέραιων αριθμών.

Είσοδος

Η πρώτη γραμμή του αρχείου της εισόδου θα περιέχει έναν ακέραιο αριθμό M που υποδεικνύει τον αριθμό των περιπτώσεων που πρόκειται να αναλυθούν. Στη συνέχεια, ακολουθούν M ζεύγη γραμμών.

Για κάθε ένα από αυτά τα ζεύγη, η πρώτη γραμμή του αρχείου εισόδου θα περιέχει δύο ακέραιους αριθμούς, N και K\;(1 \le N \le 10000,\;2 \le K \le 100) χωρισμένους με ένα κενό διάστημα.

Η δεύτερη γραμμή θα περιέχει μια ακολουθία από N ακέραιους αριθμούς, χωρισμένους με κενά διαστήματα. Κάθε ακέραιος δεν θα είναι μεγαλύτερος από 10000 κατά την απόλυτη τιμή του.

Έξοδος

Για κάθε περίπτωση στο αρχείο εισόδου, γράψτε στο αρχείο εξόδου τη λέξη 'Divisible' αν η δοθείσα ακολουθία ακέραιων αριθμών διαιρείται από τον K ή 'Not\;divisible' εάν δεν διαιρείται.

Παράδειγμα

input

2
4 7
17 5 -21 15
4 5
17 5 -21 15

output

Divisible
Not divisible

Comments

There are no comments at the moment.