Valutar este un joc care poate fi jucat de oricâţi jucători. La începutul jocului, fiecare jucător primeşte lei şi euro, precum şi un jeton numerotat cu numărul jucătorului. Mai exact, dacă există jucători, vor fi jetoane, numerotate de la la .
Tabla de joc este harta unui oraş pe care este ilustrat un traseu circular ce conţine case de schimb valutar, numerotate în ordinea de pe traseu de la la . Fiind circular, după casa urmează casa . Pentru fiecare casă de schimb valutar se cunosc două valori şi ( reprezintă câţi lei plăteşte un jucător dacă vrea să cumpere euro de la casa respectivă, iar reprezintă câţi lei primeşte jucătorul dacă vrea să vândă euro). Fiecare casă are o anumită culoare în funcţie de care jucătorul ajuns în punctul respectiv trebuie să efectueze o anumită acţiune astfel:
Culoare | Cod | Efect |
---|---|---|
Alb | A | Jucătorul nu face nimic la această mutare. |
Roşu | R | Jucătorul primeşte un cartonaş denumit „pas”. Un jucător care are un cartonaş pas va folosi ulterior cartonaşul (o singură dată, după care cartonaşul va fi scos din joc) şi astfel evită să execute o acţiune pe care nu poate să o execute, pentru a nu fi eliminat din joc. |
Galben | G | Jucătorul trebuie să cumpere euro (unde este numărul casei de schimb valutar la care se află). Dacă nu are suficienţi lei pentru a face acest lucru şi nu deţine un cartonaş pas, jucătorul este eliminat din joc. Dacă are un cartonaş pas, jucătorul îl va folosi şi nu va executa acţiunea, fără a fi eliminat din joc. |
Verde | V | Jucătorul trebuie să vândă euro (unde este numărul casei de schimb valutar la care se află). Dacă nu are suficienţi euro pentru a face acest lucru şi nu deţine un cartonaş pas, jucătorul este eliminat din joc. Dacă are un cartonaş pas, jucătorul îl va folosi şi nu va executa acţiunea, fără a fi eliminat. |
Iniţial toţi jucătorii pornesc de la casa de schimb valutar care este albă. Există case de schimb valutar și jucători. Jucătorii mută pe rând în ordinea jetoanelor. Mai întâi mută jucătorul , apoi . După jucătorul va muta din nou etc. La o mutare, un jucător care nu a fost eliminat din joc:
- „dă” cu zarul electronic; zarul va afişa un număr întreg ;
- avansează cu poziţii (adică dacă jetonul său este la casa va ajunge la casa );
- execută acţiunea asociată casei de schimb valutar în care a ajuns, în funcţie de culoarea acesteia.
Zarul electronic funcţionează astfel: la mutarea cu numărul este generat numărul calculat după formula , unde este numărul generat la mutarea ; şi sunt trei valori cunoscute, iar reprezintă restul împărţirii întregi (mod).
Cerință
Scrieţi un program care să rezolve următoarele cerinţe:
- determină numărul de jucători existenţi în joc după mutări;
- determină jucătorul care a rămas în joc şi care are cea mai mare sumă de Euro după mutări.
Date de intrare
Fişierul de intrare valutar.in
conţine pe prima linie cerinţa care trebuie să fie rezolvată ( sau ).
Pe a doua linie se află numerele naturale şi , cu semnificaţia din enunţ.
Pe a treia linie se află numerele naturale , reprezentând numărul de case de schimb valutar, numărul de jucători, câţi lei şi câţi euro primeşte fiecare jucător la începutul jocului, respectiv numărul de mutări din joc. Pe următoarele linii sunt descrise casele de schimb valutar, câte o casă pe o linie, în ordinea de la la , sub forma , cu semnificaţiile din enunţ. Valorile scrise pe aceeaşi linie sunt separate prin câte un spaţiu.
Date de ieșire
Fişierul de ieşire valutar.out
va conţine o singură linie. Dacă cerinţa este , linia va conţine un număr natural reprezentând numărul de jucători existenţi în joc după mutări. Dacă cerinţa este , linia va conţine numărul jetonului jucătorului rămas în joc şi care are cea mai mare sumă de euro după mutări.
Restricții și precizări
- ;
- ;
- ;
- Toate casele de schimb valutar au suficienţi lei şi euro pentru efectuarea oricărei acţiuni.
- Se garantează că pentru datele de test la cerinţa va rămâne în joc după mutări un singur jucător cu suma maximă de euro.
- Pentru fiecare cerinţă se acordă % din punctajul obţinut pe teste.
Exemplul 1
valutar.in
1
3 2 7
5 3 2 3 8
A 1 1
G 5 4
G 6 4
V 6 5
R 2 3
valutar.out
1
Exemplul 2
valutar.in
2
3 2 7
5 3 2 3 8
A 1 1
G 5 4
G 6 4
V 6 5
R 2 3
valutar.out
2
Explicații
Numerele care se obţin când se dă cu zarul se generează astfel: , unde . Există în joc case de schimb valutar şi jucători. Toţi jucătorii au iniţial lei şi euro şi se află la casa de schimb valutar care este albă. Se efectuează mutări astfel:
Mutare | Jucător | nr | De unde pleacă | Unde ajunge | Acţiune | Lei | Euro | Observații |
---|---|---|---|---|---|---|---|---|
1 | 1 | 4 | 1 | 5 | R | 2 | 3 | A primit un cartonaş pas |
2 | 2 | 5 | 1 | 1 | A | 2 | 3 | Nu face nimic |
3 | 3 | 3 | 1 | 4 | V | 2 | 3 | Trebuie să vândă euro, dar nu are decât , nu are cartonaş pas, deci este scos din joc. |
4 | 1 | 2 | 5 | 2 | G | 2 | 3 | Trebuie să cumpere euro, care costă lei, el nu are destui bani, dar are un cartonaş pas pe care îl foloseşte, deci rămâne în joc |
5 | 2 | 4 | 1 | 5 | R | 2 | 3 | A primit un cartonaş pas |
6 | 1 | 5 | 2 | 2 | G | 2 | 3 | Trebuie să cumpere euro, care costă lei, el nu are destui bani, nu mai are niciuun cartonaş, deci este eliminat din joc |
7 | 2 | 3 | 5 | 3 | G | 2 | 3 | Trebuie să cumpere euro care ar costa lei, nu are bani dar are un cartonaş pas pe care îl foloseşte şi nu este eliminat din joc |
8 | 2 | 2 | 3 | 5 | R | 2 | 3 | Primeşte un cartonaş pas |