User Tools

Site Tools


Problem constructing authldap
teme:tema
Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
teme:tema [2019/10/22 17:50]
Gabriel Tuculina [Resurse]
teme:tema [2019/11/26 23:57] (current)
Laurentiu Stamate [Git]
Line 3: Line 3:
  
 * Responsabili:​ [[gtuculina@gmail.com|Gabriel Țuculină]],​ [[florin.razvan.mihalache@gmail.com|Florin Mihalache]] * Responsabili:​ [[gtuculina@gmail.com|Gabriel Țuculină]],​ [[florin.razvan.mihalache@gmail.com|Florin Mihalache]]
-* Deadline: ​3.11.2019 - 23:55 +* Deadline: ​10.11.2019 - 23:55 
-* Deadline hard: 10.11.2019 - 23:55+* Deadline hard: 17.11.2019 - 23:55
 * Data publicării:​ 19.10.2019 * Data publicării:​ 19.10.2019
 * Data ultimei modificări:​ 19.10.2019 * Data ultimei modificări:​ 19.10.2019
Line 35: Line 35:
 === Runda de joc === === Runda de joc ===
  
-Fiecare rundă este împărțită în patru etape: crearea sacului, declarararea bunurilor, inspecția și recompletarea bunurilor din mână.+Fiecare ​sub-rundă este împărțită în patru etape: crearea sacului, declarararea bunurilor, inspecția și recompletarea bunurilor din mână.
  
 ==== Crearea sacului ==== ==== Crearea sacului ====
  
-La fiecare rundă, fiecare jucător va deține **10 cărți** (bunuri). El va trebui să selecteze între **și 8 cărți** (fiecare carte poate să fie de orice tip) din cele 10 și să le pună într-un sac pentru a le înmâna șerifului.+La fiecare ​sub-rundă, fiecare jucător va deține **10 cărți** (bunuri). El va trebui să selecteze între **și 8 cărți** (fiecare carte poate să fie de orice tip) din cele 10 și să le pună într-un sac pentru a le înmâna șerifului.
 De asemenea, pentru a fi mai convingător,​ în funcție de strategia adoptată, el poate adăuga și o sumă de bani (mită) pentru a convinge șeriful să nu îi controleze sacul.  ​ De asemenea, pentru a fi mai convingător,​ în funcție de strategia adoptată, el poate adăuga și o sumă de bani (mită) pentru a convinge șeriful să nu îi controleze sacul.  ​
  
 ==== Declararea bunurilor ==== ==== Declararea bunurilor ====
  
-La această etapă, fiecare jucător predă sacul șerifului și își declară bunurile, indicând tipul lor. Indiferent de bunurile din sac, el trebuie să declare **un singur tip** și poate să spună sau nu adevărul.+La această etapă, fiecare jucător predă sacul șerifului și își declară bunurile, indicând tipul lor. Indiferent de bunurile din sac, el trebuie să declare **un singur tip** și poate să spună sau nu adevărul. Bunurile care nu sunt alese, se pot considera **arse**.
  
 ==== Inspecția ==== ==== Inspecția ====
Line 53: Line 53:
 * dacă alege să accepte mita, atunci șeriful va adăuga acea sumă de bani la câștigul propriu, iar comerciantul va trece necontrolat,​ deci își va putea adăuga toate bunurile din sac pe tarabă. * dacă alege să accepte mita, atunci șeriful va adăuga acea sumă de bani la câștigul propriu, iar comerciantul va trece necontrolat,​ deci își va putea adăuga toate bunurile din sac pe tarabă.
 * dacă se controlează sacul implicit se refuză mita dacă există (aceasta întorcându-se la comerciant) * dacă se controlează sacul implicit se refuză mita dacă există (aceasta întorcându-se la comerciant)
-* dacă nu se controlează sacul, implicit se acceptă mita (dacă există) 
  
 ==== Recompletarea bunurilor din mână ==== ==== Recompletarea bunurilor din mână ====
-La finalul rundei fiecare jucător își pune bunurile aduse pe taraba și își completează ​cărțile din mână pana ajunge sa dețină din nou 10 cărți (bunuri).+La finalul ​sub-rundei fiecare jucător își pune bunurile aduse pe taraba și își completează ​mâna cu urmatoarele ​10 cărți (bunuri).
  
 === Descrierea bunurilor === === Descrierea bunurilor ===
Line 90: Line 89:
  
 În rolul de **comerciant**,​ el este jucătorul onest, corect, care //spune mereu adevărul//​. În funcție de cărțile pe care le are în mână, el va cauta tipul de cărți **cel mai frecvent**. Dacă vor exista mai multe tipuri de cărți cu aceeași frecvență,​ va selecta tipul de carte care i-ar aduce un profit mai mare. În cazul în care sunt mai multe bunuri cu aceeași frecvență și același profit se alege bunul cu id-ul cel mai mare. Dacă are doar cărți ilegale, el va aduce în sacul său o singură carte, încercând să își minimizeze fapta ilegală (va adăuga totuși cartea care îi aduce cel mai mare profit și va declara că în sac se află **mere**). În rolul de **comerciant**,​ el este jucătorul onest, corect, care //spune mereu adevărul//​. În funcție de cărțile pe care le are în mână, el va cauta tipul de cărți **cel mai frecvent**. Dacă vor exista mai multe tipuri de cărți cu aceeași frecvență,​ va selecta tipul de carte care i-ar aduce un profit mai mare. În cazul în care sunt mai multe bunuri cu aceeași frecvență și același profit se alege bunul cu id-ul cel mai mare. Dacă are doar cărți ilegale, el va aduce în sacul său o singură carte, încercând să își minimizeze fapta ilegală (va adăuga totuși cartea care îi aduce cel mai mare profit și va declara că în sac se află **mere**).
-Ca **șerif**, el //va controla toți ceilalți jucători//,​ la fiecare rundă, nu va accepta bani de la ceilalți comercianți și deși va risca să rămână fără bani, el va încerca sa împiedice toate bunurile ilegale care ar putea fi aduse în Nottingham. Dacă a rămas fără bani (are o sumă mai mică de 16), acesta nu va mai controla niciun comerciant pana la finalul turului său ca șerif, dar nu va accepta nici mita acestora. Practic își va termina turul ca șerif.+Ca **șerif**, el //va controla toți ceilalți jucători//,​ la fiecare ​sub-rundă, nu va accepta bani de la ceilalți comercianți și deși va risca să rămână fără bani, el va încerca sa împiedice toate bunurile ilegale care ar putea fi aduse în Nottingham. Dacă a rămas fără bani (are o sumă mai mică de 16), acesta nu va mai controla niciun comerciant pana la finalul turului său ca șerif, dar nu va accepta nici mita acestora. Practic își va termina turul ca șerif.
  
 ====Jucatorul lacom (Greedy Strategy) ==== ====Jucatorul lacom (Greedy Strategy) ====
  
 Este un **jucător de bază** însă, care atunci când este **șerif**, este ușor de mituit. El inspectează toți comercianții,​ mai puțin pe cei care îi oferă mită. Este un **jucător de bază** însă, care atunci când este **șerif**, este ușor de mituit. El inspectează toți comercianții,​ mai puțin pe cei care îi oferă mită.
-Când este în rolul de **comerciant**,​ el //nu oferă mită//, deși **în rundele pare**, după ce aplică **strategia de bază**, el adaugă în sacul său (dacă nu are deja 8 bunuri în sac) un **bun ilegal**, alegând bineînțeles cartea ilegală cu profitul cel mai mare. Dacă în runda respectivă ​el nu are nicio astfel de carte, el va juca doar strategia de bază. Prima rundă se consideră impară.+Când este în rolul de **comerciant**,​ el //nu oferă mită//, deși **în rundele pare**, după ce aplică **strategia de bază**, el adaugă în sacul său (dacă nu are deja 8 bunuri în sac) un **bun ilegal**, alegând bineînțeles cartea ilegală cu profitul cel mai mare. Dacă într-o sub-runda **a rundei pare** ​el nu are nicio astfel de carte, el va juca doar strategia de bază in sub-runda respectiva. Prima rundă se consideră impară.
  
 ==== Jucătorul care mituiește (Bribe Strategy) ==== ==== Jucătorul care mituiește (Bribe Strategy) ====
  
-Jucătorul care mituiește este cel care încearcă să îi păcălească pe ceilalți, dar care la un moment dat riscă să se păcălească pe sine. În rolul de **comerciant**,​ el //va da mită// cât timp venitul îi va permite și va încerca mereu sa pună cat mai multe cărți ilegale (maxim 8, cele ce au profitul cel mai mare), după următoarele reguli:+Jucătorul care mituiește este cel care încearcă să îi păcălească pe ceilalți, dar care la un moment dat riscă să se păcălească pe sine. În rolul de **comerciant**,​ el //va da mită// cât timp venitul îi va permite și va încerca mereu sa pună cat mai multe cărți ilegale (maxim 8, cele ce au profitul cel mai mare) si eventual sa completeze cu legale, după următoarele reguli:
 * va da **5 monede** atunci când în sac va adăuga **una sau două** bunuri ilegale; * va da **5 monede** atunci când în sac va adăuga **una sau două** bunuri ilegale;
 * va da **10 monede** atunci când în sac va adăuga **mai mult de două** cărți ilegale; * va da **10 monede** atunci când în sac va adăuga **mai mult de două** cărți ilegale;
 +* va completa cu cartile legale cele mai valoroase, iar la egalitate, cu cele cu id-ul cel mai mare, in limita permisa de banii pe care ii are
 * va declara bunurile ca fiind **mere**; * va declara bunurile ca fiind **mere**;
-Dacă va rămâne fără bani, el nu va putea da mită, deci el va juca corect (va juca la fel ca jucătorul cu **strategia de bază**). De asemenea, dacă nu va avea niciun bun ilegal, el va aplica tot strategia de bază. +Dacă ar rămâne fără bani, el nu va putea da mită, deci el va juca corect (va juca la fel ca jucătorul cu **strategia de bază**). De asemenea, dacă nu va avea niciun bun ilegal, el va aplica tot strategia de bază. El isi va completa sacul (ce ii da serifului la verificare) in functie de penalty-ul care s-ar acumula. Totusi, el nu va lua un bun daca i-ar aduce penalty-ul acumulat suma de bani pe 0
-Ca șerif, el va verifica mereu doar comerciantul din **stânga**,​ respectiv **dreapta** sa.+Ca șerif, el va verifica mereu doar comerciantul din **stânga**,​ respectiv **dreapta** sa, in aceasta ordine. De la restul comerciantilor va incerca, **ulterior**,​ sa ia mita daca acestia i-ar oferi-o, dar altfel **nu** ii verifica.
  
 == Precizări == == Precizări ==
Line 151: Line 151:
 La final jocului ne interesează un simplu clasament în care avem id-ul jucătorului (al câtelea a fost în vectorul inițial), strategia utilizată de acesta, împreună cu punctajul său final. Acest clasament trebuie afișat sortat dupa numărul de puncte descrescător. La final jocului ne interesează un simplu clasament în care avem id-ul jucătorului (al câtelea a fost în vectorul inițial), strategia utilizată de acesta, împreună cu punctajul său final. Acest clasament trebuie afișat sortat dupa numărul de puncte descrescător.
  
-    2  BASIC140 +    2  BASIC 140 
-    4  BRIBED91 +    4  BRIBED 91 
-    1  BASIC89 +    1  BASIC 89 
-    0  GREEDY70 +    0  GREEDY 70 
-    3  GREEDY20+    3  GREEDY 20
  
  
Line 253: Line 253:
 } }
 </​code>​ </​code>​
 +
  
 ==Punctaj== ==Punctaj==
Line 292: Line 293:
 Pentru a folosi fileio din schelet, urmăriți tutorialul de aici. Pentru a folosi fileio din schelet, urmăriți tutorialul de aici.
 [[http://​elf.cs.pub.ro/​poo/​laboratoare/​tutorial-io]] [[http://​elf.cs.pub.ro/​poo/​laboratoare/​tutorial-io]]
 +
  
 Exemple de rezolvari ''​pe foaie''​ a testelor de input: Exemple de rezolvari ''​pe foaie''​ a testelor de input:
-1round2players-mixed (basic-basic):​ [[https://​prntscr.com/​pmpjwg]] +1round2players-mixed (basic-basic):​ [[https://​prntscr.com/​pmpjwg]] 
-2rounds2players-legal (basic-greedy):​ [[https://​prntscr.com/​pmpp71]]+2rounds2players-legal (basic-greedy):​ [[https://​prntscr.com/​pmpp71]]
 == Referințe == == Referințe ==
 * [[https://​www.arcanewonders.com/​wp-content/​uploads/​2017/​06/​Sheriff_of_Nottingham_Rulebook.pdf|Sheriff of Nottingham Rules]] * [[https://​www.arcanewonders.com/​wp-content/​uploads/​2017/​06/​Sheriff_of_Nottingham_Rulebook.pdf|Sheriff of Nottingham Rules]]
teme/tema.1571755836.txt.gz · Last modified: 2019/10/22 17:50 by Gabriel Tuculina