Scrieti DOUA clase:
- Candidat - nume, voturi (incepe cu 0):
- constructor(nume); getNume(); getVoturi()
- adaugaVot() - aduna 1 la numarul de voturi
- Alegere - orchestreaza candidatii si voturile, IMPIEDICAND votul dublu (fiecare votant identificat printr-un id de votant poate vota o singura data, indiferent pe cine):
- constructor fara parametri
- adaugaCandidat(nume) - returneaza id-ul candidatului (0,1,2,...)
- voteaza(idVotant, idCandidat) - daca idCandidat e valid SI idVotant NU a mai votat niciodata, delegheaza catre candidat.adaugaVot(), marcheaza idVotant ca a votat, si returneaza adevarat; altfel returneaza fals fara nicio modificare
- castigator() - returneaza numele candidatului cu cele mai multe voturi (la egalitate, primul adaugat); "-" daca nu exista niciun candidat
- voturiCandidat(id) - returneaza voturile candidatului (0 daca id invalid)
- numarVotanti() - returneaza numarul de votanti DISTINCTI care au votat cu succes
- Date de intrare
- Codul vostru este integrat intr-un program de test care citeste comenzi si apeleaza metodele voastre.
- Date de iesire
- Fiecare comanda produce o linie de output.
- Restrictii
- id-urile de votant sunt numere intregi oarecare (nu neaparat consecutive).
Exemple
Exemplul 1
Intrare
4 ADDCANDIDAT A ADDCANDIDAT B VOTEAZA 100 0 VOTURI 0
Iesire
0 1 1 1

