Oszthatóság

Tekintsünk egy egészekbők álló számsort. A számok közé a + és - jelet tehetjük. A műveleti jelek választásától függően számtalan végeredményt állíthatunk elő.

A 17, 5, -21, 15 számokat tekintve az alábbi eredményre juthatunk.

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

Egy ilyen számsort D-vel oszthatónak nevezünk, ha van olyan műveletsor, amelynek eredménye D-vel osztható. A fenti számsor ennek megfelelően osztható 7-tel, de nem osztható 5-tel.

Feladat:

Írj programot, amely megállapítja, hogy egy számsor osztható-e egy adott számmal.

Bemenet:

A bemeneti állomány N tesztesetet tartalmaz. Az állomány első sorában az N értéke kap helyet. A tesztesetek első sorában két egész szám található egyetlen szóközzel elválasztva, a K és a D. (1<=K<=10000, 2<=D<=100). A teszteset második sorában K darab egész szám szerepel, köztük szóközök vannak. Minden egész 10000-nél nem nagyobb abszolút értékű.

Kimenet:

A kimeneti állományba tesztesetenként egyetlen szót kell írni: "Oszthato", ha a végeredmények közül bármelyik osztható D-vel, illetve "Nem oszthato", ha a végeredmények közül egyetlen szám sem osztható D-vel.

Példa:

div.in

div.ans

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

Oszthato

Nem oszthato

 

 

 

 

 

(ACM ELTE csapatverseny 2000)