Newsgroup: it.hobby.enigmi
Titolo: Mazzi di carte

  Avete 3 mazzi di carte e operate come segue:
1) Togliete 3 carte finchè è possibile da un mazzo a scelta
2) Aggiungete una carta a ciascuno degli altri due mazzi
Ripetete le 1) e 2) fino a che è possibile
Trovate un metodo per individuare
dato il numero iniziale di carte per ogni mazzo
quello finale


Se ho ben capito:
1) se il primo mazzo contiene almeno tre carte, togliere tre carte,
altrimenti stop
2) aggiungere una carta al secondo mazzo
3) aggiungere una carta al terzo mazzo
4) tornare al punto 1)
Indicando con i1, i2, i3 le carte iniziali dei tre mazzi e f1, f2, f3
quelle finali, alla fine si ha:
f1= i1 mod 3
f2= i2 + (i1 div 3)
f3= i3 + (i1 div 3)
dove "div" e' l'operatore divisione intera e "mod" l'operatore modulo.
Solo che mi sembra troppo semplice e quindi probabilmente non ho
capito il problema.
Intendi forse che il mazzo da cui togli le tre carte non e' sempre lo
stesso, ma viene scelto a caso ogni volta?







Certo,purchè il mazzetto scelto ne contenga 3
Ad ogni giro il numero totale di carte diminuisce di una unità


Dopo un'infinta' di calcoli, ho una prima ipotesi. Per ora riporto
solo i risultati (che sono talmente incasinati da rendere inutile
porre lo spoiler)
Siano A,B,C il numero di carte nei tre mazzetti.
Si calcolino:
x= (2a+b+c) mod 4
y= (a+2b+c) mod 4
z= (a+b+2c) mod 4
E adesso si consideri questa tabella:
(0,0,0) --> (2,2,2)
(3,3,2) --> (2,2,1)
(2,2,0) --> (2,2,0)
(2,1,1) --> (2,1,1)
(3,1, 0) --> (2,1,0)
I valori a sinistra sono l'insieme (x,y,z), quelli a destra l'insieme
dei numeri di carte che restano nei mazzetti.
Da notare che  si tratta di insiemi, quindi non sono ordinati. Ad
esempio, (3,3,2) e' equivalente a (3,2,3)
Devo ancora verificare:
1) che gli insiemi (x,y,z) mancanti non siano effettivamente
ottenibili
2) che non ci sia il modo di ottenere i valori dei singoli mazzetti,
ordinando quindi gli insiemi (probabilmente e' possibile)
3) che non ci sia un sistema piu' semplice (probabile)
4) che non abbia scritto una serie di scemenze (possibile)

Ok, metto giu' qualcosa di piu' preciso. Si riesce a determinare il
numero di carte restante nei singoli mazzetti.
Definizioni:
A,B,C le carte nei tre mazzetti iniziali
a,b,c le carte nei tre mazzetti finali
i,j,k le volte che vengono tolte tre carte da A,B,C rispettivamente.
Si ha:
a= A + (-3i+j+k)
b= B + ( i-3j+k)
c= C + ( i+j-3k)
Elaborando un po':
i= ((2a+b+c) - (2A+B+C))/4
j= ((a+2b+c) - (A+2B+C))/4
k= ((a+b+2c) - (A+B+2C))/4
Dato che i,j,k sono interi, significa che i tre valori
((2a+b+c) - (2A+B+C))
((a+2b+c) - (A+2B+C))
((a+b+2c) - (A+B+2C))
sono multipli di 4, e quindi:
(2a+b+c) mod 4 = (2A+B+C) mod 4     = x
(a+2b+c) mod 4 = (A+2B+C) mod 4     = y
(a+b+2c) mod 4 =  (A+B+2C) mod 4    = z
A questo punto, a ogni terna di valori a,b,c possiamo far
corrispondere una terna x,y,z; ad ogni terna A,B, C possiamo far
corrispondere una terna x,y,z.
A questo punto, il fatto che a una terna (A,B,C) e a una (a,b,c)
corrisponda la medesima (x,y,z) significa che la (a,b,c) rappresenta
un risultato raggiungibile partendo dalla (A,B,C).
In realta' alcuni risultati sono raggiungibili solo passando per
mazzetti con un numero negativo di carte, e questo ci permette di
scremare.
a, b e c sono tutti minori di 3; possiamo definire tutte le 27 terne e
individuare i valori x,y,z corrispondenti. Da queste 27 terne possiamo
pero' escludere quelle che contengono piu' di uno 0 (impossibili da
ottenere) e le 111, 011, 101, 110 (deriverebbero necessariamente da
una con due zeri).
Otteniamo questa tabella di corrispondenza:
abc	xyz
012	301
021	310
022	022
102	031
112	112
120	013
121	121
122	233
201	130
202	202
210	103
211	211
212	323
220	220
221	332
222	000
e possiamo notare che tutti i valori di xyz compaiono una volta sola.
Pertanto, dati i valori di A,B,C dobbiamo solo calcolare la terna
x,y,z corrispondente, cercarla nella colonna di destra e il valore
della colonna di sinistra sara' quello cercato.
Che casino, pero'! Nessuno ce la fa con un metodo piu' semplice?

La notte porta consiglio. E le code in autostrada pure.
Eccolo, un modo piu' semplice.
Sottrarre 3 da un mazzetto e sommare 1 ad ognuno degli altri significa
che il modulo 4 delle differenze dei mazzetti non cambia. Quindi,
qualunque sia la successione di mosse, alla fine avremo tre valori le
cui differenze avranno lo stesso modulo 4 di quelle iniziali. Fra
l'altro, questo implica che possiamo sottrarre o sommare un multiplo
di 4 a un mazzetto senza che il risultato finale cambi.
A questo punto, prendiamo i tre valori e calcoliamone il modulo 4. Se
nessuno e' 3, abbiamo gia' finito. Se no, aggiustiamo il risultato
sommando o sottraendo 1 (sempre in modulo) ai tre valori in modo da
rendelo accettabile. Ricordiamo che un valore con due zeri non e'
ottenibile,
Esempi:
14,34,22
modulo 4: 2,2,2
43, 16, 19
modulo 4: 3,0,3
aggiungiamo 1,1,1: 0,1,0 (valore impossibile)
aggiungiamo 1,1,1: 1,2,1
1473, 239, 5
modulo 4: 1, 3, 1, che diventa 2,0,2
Se a quei valori avessimo applicato il metodo del post precedente:
14, 34, 22 --> (x,y,z)= (0,0,0) --> 2,2,2
43, 16, 19 -->  (x,y,z)= (1,2,1) --> 1,2,1
1473, 239, 5 -> (x,y,z)= (2,0,2) --> 2,0,2