|
Titlul: 4 carti Scris de: Cosmin Negruseri din Iunie 17, 2012, 21:36:43 Comentarii la postul http://infoarena.ro/blog/4-carti
Titlul: Răspuns: 4 carti Scris de: Tudor Tiplea din Iunie 17, 2012, 21:51:02 Putem stabili o ordine a culorile astfel incat intre oricare 2 carti sa poata fi stabilita o ordine (de exemplu trefla<romb<inima<frunza). Astfel avand 4 carti a,b,c,d putem presupune a<b<c<d.
Atunci pentru culoarea celei de-a 5 carti putem avea 4 configuratii: a,b,c,d - trefla (toate in ordine crescatoare) d,c,b,a - romb (toate in ordine descrescatoare) a,d,b,c - inima (cate 2 in ordine crescatoare) d,a,b,c - frunza (cate 2 in ordine descrescatoare) Momentan nu imi dau seama de cum as putea comunica numarul cartii dar voi revenii daca imi vine ceva idee. :) Titlul: Răspuns: 4 carti Scris de: Cobzaru Adrian-Andrei din Iunie 17, 2012, 21:53:46 Putem stabili o ordine a culorile astfel incat intre oricare 2 carti sa poata fi stabilita o ordine (de exemplu trefla<romb<inima<frunza). Astfel avand 4 carti a,b,c,d putem presupune a<b<c<d. Atunci pentru culoarea celei de-a 5 carti putem avea 4 configuratii: a,b,c,d - trefla (toate in ordine crescatoare) d,c,b,a - romb (toate in ordine descrescatoare) a,d,b,c - inima (cate 2 in ordine crescatoare) d,a,b,c - frunza (cate 2 in ordine descrescatoare) Momentan nu imi dau seama de cum as putea comunica numarul cartii dar voi revenii daca imi vine ceva idee. :) Si daca sunt toate cartile de aceeasi culoare? Titlul: Răspuns: 4 carti Scris de: Tudor Tiplea din Iunie 17, 2012, 21:55:39 Putem stabili o ordine a culorile astfel incat intre oricare 2 carti sa poata fi stabilita o ordine (de exemplu trefla<romb<inima<frunza). Astfel avand 4 carti a,b,c,d putem presupune a<b<c<d. Atunci pentru culoarea celei de-a 5 carti putem avea 4 configuratii: a,b,c,d - trefla (toate in ordine crescatoare) d,c,b,a - romb (toate in ordine descrescatoare) a,d,b,c - inima (cate 2 in ordine crescatoare) d,a,b,c - frunza (cate 2 in ordine descrescatoare) Momentan nu imi dau seama de cum as putea comunica numarul cartii dar voi revenii daca imi vine ceva idee. :) Si daca sunt toate cartile de aceeasi culoare? Pai cartile sunt numerotate. Si consider ca prioritate o au culorile deci de exemplu trefla 7 < romb 6 (dupa ordinea pe care am zis-o eu). :) Titlul: Răspuns: 4 carti Scris de: Cobzaru Adrian-Andrei din Iunie 17, 2012, 22:00:33 Putem stabili o ordine a culorile astfel incat intre oricare 2 carti sa poata fi stabilita o ordine (de exemplu trefla<romb<inima<frunza). Astfel avand 4 carti a,b,c,d putem presupune a<b<c<d. Atunci pentru culoarea celei de-a 5 carti putem avea 4 configuratii: a,b,c,d - trefla (toate in ordine crescatoare) d,c,b,a - romb (toate in ordine descrescatoare) a,d,b,c - inima (cate 2 in ordine crescatoare) d,a,b,c - frunza (cate 2 in ordine descrescatoare) Momentan nu imi dau seama de cum as putea comunica numarul cartii dar voi revenii daca imi vine ceva idee. :) Si daca sunt toate cartile de aceeasi culoare? Pai cartile sunt numerotate. :) Eu ma gandesc ca nu e tocmai bine asa, prin ordinea culorilor se poate spune culoarea si prin ordinea numerelor numarul... Spre exemplu, daca toate cartile sunt de aceeasi culoare, atunci cel de-al doilea jucator va sti automat(se face conventia asta). Dar depinde si de celelalte cazuri...cand sunt 2 de aceeasi culoare si celelalte 3 de o alta culoare, sau cand sunt 2-2-1 pe culori, etc.... Titlul: Răspuns: 4 carti Scris de: Tudor Tiplea din Iunie 17, 2012, 22:02:52 Primul jucator poate sa puna pe masa intr-o ordine? Adica de exemplu sa puna prima carte, sa lase spatiu, sa puna inca o carte si apoi sa completeze acel spatiu?
Sau macar daca de exemplu poate sa le puna de la stanga la dreapta sau de la dreapta la stanga, exista 24 moduri de a aranja acele carti, 2 directii in care le poate aseza deci 48 de configuratii. 48+4 carti deja asezate=52 deci se poate afla a 5-a carte. Titlul: Răspuns: 4 carti Scris de: Cobzaru Adrian-Andrei din Iunie 17, 2012, 22:05:48 Pai el are 5 carti din care o alege convenabil cea care poate fi ghicita prin conventia celor doi jucatori...si le pune pe celelalte 4 in asa fel incat al doilea jucator sa-si poata da seama prin conventia aia....cam asta inteleg eu din enunt :D
Da, calculul tau e corect, cam asa m-am gandit si eu, doar ca eu am zis ca el ar putea alege si cartea pe care o va lasa...adica si asta ajuta...in fine, noi trebuie sa gasim acest cod al lor(sau unul dintre ele...poate or fi mai multe) Titlul: Răspuns: 4 carti Scris de: Cosmin Negruseri din Iunie 17, 2012, 22:22:02 @tudor Al doilea jucator vede cele 4 carti cand sunt toate pe masa.
Titlul: Răspuns: 4 carti Scris de: Cobzaru Adrian-Andrei din Iunie 17, 2012, 22:30:25 @tudor Al doilea jucator vede cele 4 carti cand sunt toate pe masa. :oops: Inseamna ca devine ceva mai complicat....nu ma prind ce ar putea fi...ma dau batut. Poti, te rog, sa-mi trimiti solutia prin mesaj privat? :D Titlul: Răspuns: 4 carti Scris de: Dobrota Valentin Eugen din Iunie 17, 2012, 23:55:49 Fiind 4 culori si 5 carti, e foarte probabil sa conteze ca 2 carti sunt de aceeasi culoare ;)
Titlul: Răspuns: 4 carti Scris de: Cosmin Negruseri din Iunie 18, 2012, 00:20:45 @adrian asta e partea frumoasa a problemei. Te dai batut prea repede.
Titlul: Răspuns: 4 carti Scris de: Mihai Calancea din Iunie 18, 2012, 00:30:54 Fixam o relatie de ordine intre carti (rosu < negru) (romb < inima etc.).
Daca toate cartile sunt pe fata, cartea noastra este printre primele 24 si numarul de ordine ii este dat de numarul de ordine al permutarii cartilor normalizate. Daca cartea e in urmatoarele 24 folosim combinatii de genul (prima cu fata in jos * 6 permutari ale celorlate 3, a doua cu fata in jos * 6 permutari etc.) Daca e intre ultimele 4 lasam doar o carte cu fata in sus, indicand a cata din ultimele 4 este (Daca prima e cu fata in sus, atunci e cartea cu nr 49). Spune-mi te rog ca avem voie sa le punem cu fata in jos :)). Titlul: Răspuns: 4 carti Scris de: Cosmin Negruseri din Iunie 18, 2012, 02:13:18 @Mihai nu e voie cu carti intoarse. Al doilea jucator va vedea 4 carti cu fata in sus aliniate pe masa, una langa alta.
Titlul: Răspuns: 4 carti Scris de: Radu Berinde din Iunie 18, 2012, 05:49:22 Frumoasa problema. Cred ca am o solutie.
Sa zicem ca setam o ordine globala pentru carti si putem sa ne referim la ele ca numere de la 1 la 52. Impartim cele 52 de numere in 4 "binuri" de cate 13 carti. Din cele 5 carti primite vor fi neaparat cel putin 2 carti in acelasi bin. Alegem o astfel de pereche de carti. Una din aceste carti va fi a 5-a carte ascunsa, iar cealalta carte va fi prima carte aratata din cele 4 (deci al doilea jucator va sti imediat binul cartii ascunse). Celelalte 3 carti aratate vor fi folosite pentru a "transmite" un numar intre 1 si 6 (a cata permutare din cele 6 posibile, ca si ordine relativa). Cele doua carti fac parte din acelasi bin. Sa numerotam cartile din binul respectiv de la 1 la 13 in ordine crescatoare, si sa zicem ca cele doua carti au valorile x si y intre 1 si 13, cu x < y. Putem alege care din x sau y va fi aratata. Alegem asa: daca diferenta (y-x) e para, aratam cartea cea mare (y); altfel o aratam pe cea mica (x). Sa ne gandim ce inseamna asta pentru al doilea jucator, care vede prima carte cu valoare sa zicem z. El stie ca cealalta carte ori e mai mica si diferenta e para (deci z-2, z-4, etc) ori e mai mare si diferenta e impara (deci z+1, z+3, etc). Daca z e par, sunt (z-2)/2+(14-z)/2 = 6 posibilitati. Daca z e impar sunt (z-1)/2+(13-z)/2=6 posibilitati. Deci in toate cazurile, dandu-se prima carte aratata, sunt exact 6 carti posibile, si celelate 3 carti aratate pot indica valoarea necesara intre 1 si 6. Edit: m-am grabit sa absractizez haha, in loc de "binuri" putem sa ne gandim la culori (deci prima carte aratata are aceeasi culoare cu a 5-a carte; apoi determinam numarul cum am spus) Titlul: Răspuns: 4 carti Scris de: Denis Mita din Iunie 18, 2012, 16:03:55 Presupun ca nu te poti uita in pachetul de carti,nu?
Titlul: Răspuns: 4 carti Scris de: Radu Berinde din Iunie 18, 2012, 17:21:36 Mama ba ce intrebari/idei puteti sa aveti. Evident ca nu poti sa te uiti in pachetul de carti, care ar mai fi problema? Nu, nu poti sa folosesti felul cum asezi cartile (unghiuri, spatii, orientari), nu poti sa ii faci cu ochiu in timp ce le arati, si nici nu poti sa ii trimiti un SMS. Singura informatie pe care o transmiti sunt cele 4 carti in ordine.
Titlul: Răspuns: 4 carti Scris de: Cristian Lambru din Iunie 18, 2012, 18:20:44 Am si eu o idee creata care poate sa-ti ofere 2 carti in care sigur se gaseste cartea intoarsa cu fata in jos.
Acest algoritm este cel care corespunde jucatorului care aseaza cartile jos, cel care trebuie sa isi dea seama de a 5-a carte trebuind doar sa reconstituie algoritmul din punctul lui de vedere.
Aceasta solutie e un fel de cautare binara pe cele 48 de carti care iti ofera o solutie formata din 2 carti, nu o singura carte cum ar fi dorit. Poate imi scapa ceva :) ? Edit: Daca se pot aseza si intr-o ordine anume , am putea pune cea de-a patra carte la inceputul sau la sfarsitul liniei formata din cele 3 carti, astfel dand o informatie despre pozitia cartii din gramada de 2 carti. Titlul: Răspuns: 4 carti Scris de: Cosmin Negruseri din Iunie 18, 2012, 19:15:52 @Andrei problema iti cere sa poti spune o carte nu doua.
Pentru doua e foarte simplu sa indici 24 de grupuri de cate doua carti folosind de ordinea celor patru carti pe masa. Dificultatea problemei vine la pasul in care treci de la 24 stari care le poti exprima la 48. @Radu da solutia ta e buna. Titlul: Răspuns: 4 carti Scris de: Panaete Adrian din Iunie 18, 2012, 20:08:32 Protocolul se defineste ca "o intelegere intre cei doi" cunoscuta de cei doi prin care primul "ii arata" celui de-al doilea care e cartea ascunsa?
Titlul: Răspuns: 4 carti Scris de: Paul-Dan Baltescu din Iunie 18, 2012, 20:09:29 Da.
Titlul: Răspuns: 4 carti Scris de: Panaete Adrian din Iunie 18, 2012, 20:16:49 Geniala faza. Credeam ca primul "ascunde" cartea si al doilea trebuie sa ghiceasca si bineinteles ca ma gandeam la cautare binara. Abia cand am citit solutia lui Radu am inteles. :evil: "Magie" curata.
Titlul: Răspuns: 4 carti Scris de: Panaete Adrian din Iunie 18, 2012, 20:28:37 O solutie alternativa ar putea folosi distanta dintre carti asezate circular.
Primul alege doua carti cu aceeasi culoare (conform Dirichlet sigur exista) si se considera cartile acelei culori asa: 2 3 4 5 6 7 8 9 10 J Q K A 2 3 4 5 6 7 8 9 10 J Q K A Se alege "distanta" minima dintre cele doua carti masurata de la cartea "mare" la cartea "mica" in sus sau in jos. Daca distanta mica e "in jos" punem cu fata in sus cartea mica altfel punem cartea mare. Permutarea de care zicea Radu poate fi folosita acum sa ne spuna cate carti trebuie sa numaram de la cartea "vizibila" la cartea "invizibila" Evident ca avand 13 carti distanta minima e cel mult 6 si poate fi "indicata" ca pozitia in ordine lexicografica a permutarii celorlalte 3 carti. Titlul: Răspuns: 4 carti Scris de: Radu Berinde din Iunie 18, 2012, 20:39:28 Da, e mai usor asa. Cu alte cuvinte alegi diferenta mai mica modulo 13 (ori y-x<=6 ori 13-y+x <= 6).
Titlul: Răspuns: 4 carti Scris de: Denis Mita din Iunie 18, 2012, 20:52:57 Cartile alese trebuie sa fie consecutive?
Titlul: Răspuns: 4 carti Scris de: Buleandra Cristian din Iunie 19, 2012, 07:46:40 @ Radu Berinde
Poti te rog sa explici algoritmul tau pentru cartile: 4♠, 4♣ , 4♦ , 4♥, 5♠? Citat Daca z e par, sunt (z-2)/2+(14-z)/2 = 6 posibilitati. Daca z e impar sunt (z-1)/2+(13-z)/2=6 posibilitati. Deci in toate cazurile, dandu-se prima carte aratata, sunt exact 6 carti posibile Pai ai zis ca "daca diferenta (y-x) e para, aratam cartea cea mare (y); altfel o aratam pe cea mica (x)" . De unde stie cealalta persoana daca diferenta e para sau impara, sau daca acea carte pusa pe masa este cartea mai mica sau mai mare? Titlul: Răspuns: 4 carti Scris de: Sorin Rita din Iunie 19, 2012, 14:15:52 Daca am inteles eu bine ideea lui Radu Berinde din protocol face parte si regula "avand 2 carti cu valoarea x si y, cu x<y atunci daca y-x e par prima carte pe care o arat e y, altfel x". In exemplul tau 5-4 e impar deci o sa puna mai intai cartea mica, pe 4. Acum al doilea jucator trebuie sa incerce ambele posibilitati :
1. Diferenta dintre y si x e para, deci cartea aratata e cea mare. Atunci singura carte ramasa ar mai fi 2. 2. Diferenta dintre y si x e impara, deci cartea aratata e cea mica. Atunci mai are posibilitatile 5,7,9,11,13. In total sunt 6 variante. Iar numarul permutarii celor 3 carti din mijloc probabil ii arata a cata carte e cea ascunsa, considerand sortate toate cele 6 carti posibile in ordine crescatoare. Titlul: Răspuns: 4 carti Scris de: Andrei Dinu din Iunie 19, 2012, 22:42:55 Cum adica numarul permutarii celor 3 carti din mijloc??
Titlul: Răspuns: 4 carti Scris de: Sorin Rita din Iunie 19, 2012, 23:05:25 Cartile de pe pozitiile 2,3,4 sunt cele din mijloc. Sunt 6 posibilitati de a alege ultima carte. Exista 6 permutari pentru o multime cu 3 elemente. Daca le consideram in ordine lexicografica inseamna ca , de exemplu, daca primul formeaza din cele 3 carti a 4-a permutare posibila (in ordine lexicografica) ii indica celui de-al doilea ca trebuie sa alega a 4-a carte in ordine crescatoare.
Titlul: Răspuns: 4 carti Scris de: Cosmin Negruseri din Iunie 20, 2012, 07:33:57 Solutia lui Radu combinata cu ideea lui Adrian curata si usor de realizat practic:
fixezi culoarea cu prima carte si alegi ca prima carte pe cea care e la distanta circulara mai mica decat 6 ca cealalta Mai stiam o solutie: metoda de decodare e simpla, alegem cea mai mare dintre cele 4 carti de pe masa si mergem de la ea circular cel mult 24 de pozitii. Cel ce pune cartile pe masa alege sa ascunda cea mai mica sau cea mai mare carte in functie de care varianta ii permita ca metoda de decodare pe care am zis-o sa functioneze. Adrian Diaconu mi-a zis ca problema se poate rezolva si pentru un pachet de 124 de carti cu aceiasi restrictii 4 carti pe masa, una ascunsa. Incercati sa o rezolvati. Titlul: Răspuns: 4 carti Scris de: Valentin Stanciu din Iunie 20, 2012, 20:46:05 Ar trebui sa traducem aceste problemute si in engleza. Multa lume ar fi interesata de ele. :)
Titlul: Răspuns: 4 carti Scris de: BYSorynyos din Iunie 21, 2012, 02:46:44 Am si eu o solutie, tine de baze de numeratie si descompuneri. - nu foarte diferita de original.
Pentru ca nu sunt chiar asa de genial la matematica am testat solutia pe toate cazurile posibile si are 100% rata de raspuns corect simuland player.2 Revin cu descrierea pe seara cand ajung acasa. Ps: faina problema :) gg Titlul: Răspuns: 4 carti Scris de: FMI Popescu Mircea din Iunie 21, 2012, 08:58:35 Dupa cum spuneau si ceilalti prima carte arata culoarea iar din celelalte 3 putem forma (cum mai zicea cineva) un cod binar in funtie de distanta fata de cartea precedenta: daca este lipita de cea din stanga cartea are codul 1 daca exista un spatiu atunci are codul 0. Deoarece numarul maxim pe care il putem forma este 111 <=> 7, recurgem la o intelegere intre cele 2 persoane daca numarul cartii = codul transormat in baza 10 sau 7+ codul transformat in baza 10. Acest lucru se poate realiza imediat in functie de ordinea celor 3 carti (crescatoare => numarul=codul in B10 /descrescatoare=> numarul=7+codul in B10). Pentru ca stiu ca o sa inceapa unii sa tipe la mine: "Ia zi tu ce se intampla cand toate cele 3 sunt la fel, cum sortezi?", se mai face inca o intelegere ex: daca 2 carti sunt egale atunci: inima neagra>inima rosie>trefla>caro.
Titlul: Răspuns: 4 carti Scris de: Panaete Adrian din Iunie 21, 2012, 11:42:13 @cosminn
La varianta cu 124 de carti se intelege ca avem doua pachete de 52 de carti deci oricare carte apare exact de doua ori? Titlul: Răspuns: 4 carti Scris de: Boaca Cosmin din Iunie 21, 2012, 15:53:37 @Adrian Panaete
Si eu m-am gandit la acelasi lucru, ca ar fi 2 pachete de carti dar atunci ar trebui sa fie 104 carti, nu 124. Titlul: Răspuns: 4 carti Scris de: Radu Berinde din Iunie 21, 2012, 17:05:13 Nu, ai 124 de carti diferite. Cu alte cuvinte, primul jucator primeste 5 numere distincte intre 1 si 124, iar al doilea jucator trebuie sa ghiceasca al 5-lea numar vazand 4 dintre ele intr-o anumita ordine. (Si in toate astea de 3 lucruri tine cont, 2 platane si 1 microfon.)
Apropo, combinari de 124 luate cate 5 este exact egal cu aranjamente de 124 luate cate 4. Asta inseamna (pe langa ca 124 e cel mai mare nr pentru care problema asta e posibil sa aiba solutie), nu poate fi nimic redundant in codificare, si toate aranjamentele aratate trebuie sa fie "valide". De ex. in solutia mea cand 3+ carti au aceeasi culoare, nu toate valorile intre 1 si 6 sunt valide; insa, pentru varianta cu 124 de carti, orice aranjament trebuie sa fie cuplat cu exact o combinare (o bijectie). Se poate in teorie scrie un program care sa determine un cuplaj complet intre cele 225M aranjamente si combinari, si asta ar gasi o solutie la problema (atata timp cat exista o solutie). But that would be cheating haha Titlul: Răspuns: 4 carti Scris de: FMI Popescu Mircea din Iunie 21, 2012, 18:32:16 Cu metoda mea poti ajunge la 385 de numere:
avem in mana 4 carti de forma: 1 2 3 4 (1 cea mai mica dintre carti,2 urmatoarea,3 urmatoarea,4 cea mai mare carte din mana) Putem aranja cele 4 in 24 de moduri posibile ( 1 2 3 4, 1 2 4 3, 1 3 2 4, 1 3 4 2,etc.) Putem forma din cele 4 minimum 0000 si maximum 1111 adica 0 respectiv 15. Cei doi pot stabili urmatoarea regula: numarul cartii este egal cu: Pentru forma 1 2 3 4: 1 + codul adus in baza 10 Pentru forma 1 2 4 3: 17+ codul adus in baza 10 Pentru forma 1 3 4 2: 33 + codul adus in baza 10 . . . Pentru forma 4 3 2 1: 369+ codul adus in baza 10 Este mai greu de tinut minte si de calculat dar este posibil! :winner1: Titlul: Răspuns: 4 carti Scris de: Mihai Calancea din Iunie 21, 2012, 18:47:31 Nu poti lasa spatii intre carti.
Titlul: Răspuns: 4 carti Scris de: FMI Popescu Mircea din Iunie 21, 2012, 21:11:52 Spatiu de maximum juma de centimetru nu te gandi la cine stie ce.
Titlul: Răspuns: 4 carti Scris de: Paul-Dan Baltescu din Iunie 21, 2012, 21:16:36 Aaaa, numa' atat?
Titlul: Răspuns: 4 carti Scris de: Cosmin Negruseri din Iunie 21, 2012, 21:57:59 M-am gandit si eu la cuplaj. Exista si o solutie curata.
Titlul: Răspuns: 4 carti Scris de: Pavel Mircea din Iunie 22, 2012, 01:09:34 Pentru cartile a b c d e extrase daca consideram ca se arata a b c d(le fixam) atunci de o parte avem
124-4=120 posibilitati(valorile ramase pt e) si de cealalta parte 4! = 24. Deci afisand a b c d putem reprezenta doar 1/5 din valorile posibile ale lui e. M-am gandit sa reprezint valori din 5 in 5 pentru ca pentru fiecare a b c d sa corespunda un invariant e%5 . Ascundem intotdeauna cartea cu indexul (a+b+c+d+e)%5. Aranjam cartile sa reprezinte valoarea cartii ascunse / 5 ( 124/5 <= 4! deci ar trebui sa putem reprezenta toate valorile). Jucatorul 2 va avea 2 informatii cu care va reconstitui secventa: suma S a celor 4 carti ramase modulo 5 si numarul n de ordine al aranjamentului. Incercand fiecare slot i (0<=i<=4) unde sa introduca cartea ascunsa, valoarea acesteia ar fi val = ( 5+i-S )%5 + 5*n pentru ca i reprezinta si suma celor 5 carti initiale modulo 5. Dar cartea se poate potrivi doar intr-un slot deoarece: Daca din a b c d e ascundem c, deci val=c , cu un slot inapoi(i-1), val va fi cu o unitate mai mica sau cu 4 unitati mai mare. Si a<val-1<b sau a<val+4<b nu pusca. Similar in celalalt sens, sau la distante mai mari de 1 fata de pozitia corecta. Practic ordinea cartilor afisate da catul impartirii la 5 si pozitia cartii ascunse da restul impartirii la 5. Exemplu: Jucatorul 1 primeste cartile 10 15 16 17 20 rest = 3, ascunde 17 pune cartile (10 15 16 20) in ordinea corespunzatoare lui 3 Jucatorul 2 primeste cartile (10 15 16 20) aranjate in ordinea 3 noul rest S = 1 n=3 i=0 => val = 4 + 3*5 = 19 dar 19<10 FALS i=1 => val = 0 + 3*5 = 15 dar 10<15<15 FALS i=2 => val = 1 + 3*5 = 16 dar 15<16<16 FALS i=3 => val = 2 + 3*5 = 17 16<17<20 ADEVARAT! Daca observati ceva erori in demonstratie va rog sa imi spuneti. N-as stii sa demostrez ca redundanta e zero la solutia mea... Problema e foarte misto :) Titlul: Răspuns: 4 carti Scris de: Pavel Mircea din Iunie 22, 2012, 09:10:51 Am uitat ceva destul de important. Inainte de a ascunde cartea (a+b+c+d+e)%5, a b c d e sunt sortate si abia apoi e aleasa cartea cu indexul respectiv. La fel la jucatorul 2, odata ce a extras informatia data de ordinea aranjamentului, sorteaza a b c d si abia apoi incearca cele 5 sloturi.
Titlul: Răspuns: 4 carti Scris de: Panaete Adrian din Iunie 23, 2012, 09:36:09 @Mircea
As vrea sa imi explici cum functioneaza ideea ta pe cazul in care jucatorul 1 primeste numerele 1 2 3 4 6. Titlul: Răspuns: 4 carti Scris de: FMI Popescu Mircea din Iunie 23, 2012, 13:04:47 eu?
Titlul: Răspuns: 4 carti Scris de: Panaete Adrian din Iunie 23, 2012, 14:34:11 Nu tu. Mircea Pavel :))
Titlul: Răspuns: 4 carti Scris de: Pavel Mircea din Iunie 23, 2012, 16:11:06 @Adrian
Pentu exemplu dat de tine, algoritmul ar functiona asa: Jucatorul 1: 1 2 3 4 6 r = 16%5 = 1, deci se ascunde cartea cu index 1, adica 2. Aranjamentul cartilor 1 3 4 6 trebuie sa codifice valoarea 2/5 = 0 ( deci jucatorul 2 le primeste in acceasi ordine ). Jucatorul 2: 1 3 4 6 S = 14%5 = 4, n=0(valoare din ordinea aranjamentului) Daca i = 0 -> 5*0+(0-4+5)%5=1, dar 1<1 e fals, deci nu poate fi vorba de slotul 0. Daca i = 1 -> 5*0+(1-4+5)%5=2, 1<2<3 ceea ce e ok, deci valoarea cartii e 2. Cu toate astea din exemplul tau mi-am dat seama ca pentru carti mai mari de 119 algoritmul meu nu ar merge, pt ca permutarea codifica de la 0 la 23 nu pana la 24 si 23*5+rest<=119. Pentru a putea codifica 124 carti, trebuie transmisa valoarea cartii - pozitia ei, si cum pozitia ei este dedusa de jucatorul 2, cu o mica corectie la cat, se poate reconstitui valoarea. Mai jos codul algoritmului, poate se intelege mai bine.Accepta carti de la 0 la 123: Cod: #include <algorithm> Titlul: Răspuns: 4 carti Scris de: Panaete Adrian din Iunie 24, 2012, 10:08:50 Intradevar dupa ce am recitit cu atentie cele doua postari ale lui Mircea e clar ca protocolul descris de el e corect si pentru a fi inteles am sa imi permit sa il sintetizez descriind in pasi ce face fiecare jucator.
Cheia rezolvarii e urmatoarea: dispunem de 124 carti dintre care 4 vor fi vizibile si 120 invizibile. Jucatorul 1 trebuie sa transmita jucatorului 2 una dintre cele 120 de valori utilizand cele 4 numere vizibile. De remarcat ca numerele ramase dupa afisarea celor 4 carti pot fi identificate unic cu valori de la 0 la 119 reprezentand pozitia lor in ordine crescatoare dupa ce au fost eliminate cartile vizibile. Astfel pozitia se identifica unic prin teorema impartirii cu rest cu catul 5. Astfel daca pozitia este P=5C+R atunci C este de la 0 la 23 si R este de la 0 la 4. Acestea sunt cele doua informatii ce trebuie transmise pentru a fi realizata decodificarea. De remarcat ca numarul perechilor ( C , R ) este 24 X 5 = 120 ceea ce dovedeste redundanta 0 a codificarii. Pasii efectuati de jucatorul 1 pentru codificare: pas C1 -> se alege cartea care va fi ascunsa asezand cartile disponibile in ordinea a < b < c < d < e (astfel fiecare carte va fi identificata printr-un indice i de la 0 la 4) . Acest indice va fi ales cu valoarea i = ( a + b + c + d + e ) % 5 . In continuare vom considera h=cartea ascunsa si x<y<z<t celelalte 4 carti care vor fi aratate jucatorului Mai precis: a+b+c+d+e=5k => h=a a+b+c+d+e=5k+1 => h=b a+b+c+d+e=5k+2 => h=c a+b+c+d+e=5k+3 => h=d a+b+c+d+e=5k+4 => h=e pas C2 -> Se calculeaza pozitia p de la 0 la 119 ce va fi codificata. Se observa ca p = h - 1 - i deoarece pozitia p este de fapt h -1 - cate carti sunt vizibile si strict mai mici decat h ( adica exact i carti) Mai precis: p=a-1 daca am ascuns a p=b-2 daca am ascuns b p=c-3 daca am ascuns c p=d-4 daca am ascuns d p=e-5 daca am ascuns e pas C3 -> se considera cele 24 de permutari ale numerelor x<y<z<t pe care le ordonam lexicografic si acordam fiecareia un indice C de la 0 la 23. Mai precis x y z t C=0 x y t z C=1 .... t z x y C=22 t z y x C=23 Asezam cartile x y z t in ordinea data de C=p/5 si astfel se termina rolul primului jucator. Ramane semnul de intrebare-> oare cine este R din p=5C+R ??? R= p % 5 = ( h - i - 1 ) % 5 = (h - a - b - c - d - e - 1 )% 5 = ( - x - y - z - t - 1 ) % 5 Deci deoarece h se reduce R depinde numai de x y z t adica de cartile vizibile !!! Pasi efectuati de jucatorul 2 pentru decodificare Pas D1 -> Determina C observand a cata permutare a numerelor vizibile x y z t a fost afisata de primul jucator ( acest numar va fi intre 0 si 23) Pas D2 -> determina R =( -x - y - z - t - 1 ) % 5 Pas D3 -> Determina h dupa urmatoarea regula p=5C+R si h=p+1=a daca (x,y,z,t)=(b,c,d,e) deci daca p+1<x h=p+2=b daca (x,y,z,t)=(a,c,d,e) deci daca x<p+2<y h=p+3=c daca (x,y,z,t)=(a,b,d,e) deci daca y<p+3<z h=p+4=d daca (x,y,z,t)=(a,b,c,e) deci daca z<p+4<y h=p+5=e daca (x,y,z,t)=(a,b,c,d) deci daca t<p+5 Prescurtat se calculeaza valorile p+1,p+2,p+3,p+4,p+5 iar h este unica (deci prima) valoare care se incadreaza resprctiv pe intervalul corespunzator adica [ 1 , x ) ; ( x , y ) ; ( y , z ) ; ( z , t ) ; ( t , 124 ] Titlul: Răspuns: 4 carti Scris de: Panaete Adrian din Iunie 24, 2012, 10:40:11 Problema cu 52 de carti poate fi rezolvata folosind exact metoda de la 124 de carti.
Utilizam protocolul de la 124 de carti si avem informatia suplimentara 1 <= a <= b <= c <= d <= e <= 52. Aceasta informatie nu este necesara si eventual se poate face abstractie de ea gandind cele 52 de valori de la 1 la 52 ca valori de la 1 la 124. Forma generala a problemei ar fi urmatoarea: Se considera un pachet cu M carti numerotate de la 1 la M. Sa se stabileasca un protocol intre doi jucatori care sa permita primului sa aleaga N carti, sa aseze in linie N-1 dintre ele astfel incat al doilea se poata indica a N-a carte pe care nu o vede. Restrictie N+1 <= M <= N! + N - 1 De exemplu daca N = 5 vom obtine M maxim = 5! + 5 - 1 = 120 + 5 - 1 = 124. Si pentru ca tot se vorbeste de plagiat peste tot in ultima vreme mentionez ca generalizarea nu imi apartine deci considerati tot ce am scris mai sus cu ghilimele cu sursa de informare google search :evil: Titlul: Răspuns: 4 carti Scris de: Cosmin Negruseri din Iunie 26, 2012, 03:42:54 Misto Mircea.
|