Pagini recente »
Monitorul de evaluare
|
Diferențe pentru problema/orase între reviziile 4 și 5
|
Borderou de evaluare (job #510791)
|
Diferențe pentru problema/joc11 între reviziile 3 și 4
|
Diferențe pentru problema/datorii între reviziile 11 și 7
Nu există diferențe între titluri.
Diferențe între conținut:
== include(page="template/taskheader" task_id="datorii") ==
_Notă: aceasta este problema originală, dată la OJI 2020, și nu problema dată special pentru concursul IQ Academy, care era modificată pentru a vedea cine citește enunțul._
Într-o țară îndepărtată, economia este în criză. Cea mai mare problemă este lipsa de capital care creează blocaje financiare. De exemplu, o firmă *X* poate avea datorii către o firmă *Y* pe care nu le poate plăti, deoarece o altă firmă *Z* are datorii către firma *X* pe care nu le-a plătit, ș.a.m.d.
Există o listă cu toate datoriile firmelor sub forma următoare:
h2. Cerință
Cunoscând lista cu datoriile firmelor, scrieți un program care să rezolve următoarele cerințe:
1. Determină numărul de firme distincte care apar în această listă;
2. Realizează o situație financiară a firmelor distincte din această listă, scrise în ordine lexicografică; pentru fiecare firmă se vor determina două valori *SD* *SP*, unde *SD* reprezintă suma totală a datoriilor pe care firma le are către alte firme, iar *SP* este totalul sumelor pe care firma trebuie să le primească de la alte firme.
1. Determină numărul de firme distincte care apar în această listă al căror nume are lungime de cel puțin 3 caractere;
2. Realizează o situație financiară a firmelor distincte din această listă, scrise în ordine lexicografică; pentru fiecare firmă se vor determina două valori *SP* *SD*, unde *SP* este totalul sumelor pe care firma trebuie să le primească de la alte firme, iar *SD* reprezintă suma totală a datoriilor pe care firma le are către alte firme.
h2. Date de intrare
h2. Date de ieșire
Fișierul de ieșire $datorii.out$ va conține răspunsul la cerința *C* specificată în fișierul de intrare. Dacă *C=1* fișierul va conține un număr natural, reprezentând numărul de firme distincte care apar în lista menționată. Dacă *C=2* fișierul va conține pentru fiecare dintre firmele distincte din lista menționată câte un singur triplet de forma *X SD SP*, unde *X* este numele firmei, iar *SD* și *SP* au semnificația din enunț pentru firma *X*; tripletele vor fi scrise astfel încât numele firmelor să apară în ordine lexicografică, fiecare triplet pe câte o linie a fișierului, iar *X*, *SD* și *SP* vor fi separate prin câte un singur spațiu.
Fișierul de ieșire $datorii.out$ va conține răspunsul la cerința *C* specificată în fișierul de intrare. Dacă *C=1* fișierul va conține un număr natural, reprezentând numărul de firme distincte care apar în lista menționată. Dacă *C=2* fișierul va conține pentru fiecare dintre firmele distincte din lista menționată câte un singur triplet de forma *X SP SD*, unde *X* este numele firmei, iar *SP* și *SD* au semnificația din enunț pentru firma *X*; tripletele vor fi scrise astfel încât numele firmelor să apară în ordine lexicografică, fiecare triplet pe câte o linie a fișierului, iar *X*, *SP* și *SD* vor fi separate prin câte un singur spațiu.
h2. Restricții
ana > Anatolia 10
ana > Vasilescu Inc 5
Popa25 PF > Anatolia 30
| 5
|
| 5 |
| 2
5
Vasile Inc > Anatolia 100
ana > Anatolia 10
ana > Vasilescu Inc 5
Popa25 PF > Anatolia 30
Popa25 PF > ana 50
| Anatolia 0 140
Popa25 PF > ana 50 | Anatolia 0 140
Popa25 PF 80 0
Vasile Inc 100 0
Vasilescu Inc 0 5
ana 15 50
|
ana 15 50 |
== include(page="template/taskfooter" task_id="datorii") ==
Nu există diferențe între securitate.