Diferente pentru problema/primar intre reviziile #1 si #39

Diferente intre titluri:

primar
Primar

Diferente intre continut:

== include(page="template/taskheader" task_id="primar") ==
Poveste si cerinta...
Dubluveu a fost ales de curand primar in "Popricani":http://ro.wikipedia.org/wiki/Comuna_Popricani%2C_Ia%C5%9Fi. Ca sa poate obtine "fondurile structurale":http://www.fonduri-structurale.ro pentru dezvoltarea comunei, proaspatul ales trebuie sa-si desemenze cat mai repede consilierii locali. Pentru ca in campania electorala, le-a promis popricanenilor ca nu va face discrimanari (ca si primarul precedent), va trebui sa respecte urmatoarele norme:
 
* Cosiliul Local trebuie sa aiba $N$ angajati (cate un singur angajat din fiecare casa, din cele $N$ ale comunei)
* va trebui sa angajeze atat barbati, cat si femei
* valoarea totala a discriminarii sa fie minima.
 
Putem considera comuna ca un plan cartezian, unde casele sunt reprezentate de puncte, iar ulitele sunt reprezentate de dreptele paralele cu axele de coordonate, pe care se alfa cel putin o casa (vezi figura).  Discriminarea pe o astfel de ulita este egala cu diferenta (in modul) dintre numarul de barbati si numarul de femei alesi in Consiliul Local. Discriminarea totala este suma discriminarilor de pe fiecare ulita.
 
!problema/primar?grid.jpg!
 
_Liniile rosii reprezinta ulite, pe cand liniile albastre unesc case ce nu se afla pe aceeasi ulita. Spre exemplu casele 1, 2, 3 si 4 sunt pe aceeasi ulita. De asemenea, casele 5, 6 si 7 sunt pe aceeasi ulita. In schimb, casele 1 si 5_ +sunt pe ulite diferite+, _deoarece dreapta care trece prin punctele 1 si 5 nu este paralela nici cu OX nici cu OY. Pentru a intelege si mai bine desenul, putem spune ca doua case sunt pe aceeasi ulita_ +daca si numai daca+ _au_ +aceeasi abscisa+ _sau_ +aceeasi ordonata+.
 
h2. Cerinta
 
In calitate de sef de campanie al primarului Dubluveu, trebuie sa determini o alegere a celor $N$ consilieri, care sa respecte promisiunile facute popricanenilor si care sa aiba o +discriminare totala minima+.
h2. Date de intrare
Fisierul de intrare $primar.in$ ...
Pe prima linie a fisierului de intrare $primar.in$ se afla numarul $N$. Pe urmatoarele $N$ linii se afla coordonatele caselor.
h2. Date de iesire
In fisierul de iesire $primar.out$ ...
In fisierul de iesire $primar.out$ veti afisa, pe prima linie, discriminarea minima obtinuta, iar pe ce-a de-a doua, un sir de $N$ numere din multimea ${0,1}$. Astfel, al i-lea numar va reprezenta alegerea facuta de tine pentru a $i$-a casa din fisierul de intrare. (0 - reprezinta ca ai numit un barbat de la casa $i$, 1 - reprezinta ca ai numit o femeie de la casa $i$)
h2. Restrictii
* $... ≤ ... ≤ ...$
* $1$ ≤ $N$ ≤ $131 072$
* coordonatele caselor sunt numere intregi ale caror coordonate nu depasesc, in modul, $2 000 000 000$
* daca o ulita are doar o singura casa atunci, +indiferent de alegerea facuta+, discriminarea pe acea ulita va fi $0$.
* intr-o casa locuiesc cel putin un barbat si cel putin o femeie
* nu exista doua case la aceeasi coordonata
* veti primi $40%$ din punctaj pentru determinarea corecta a discriminarii minime si $100%$ daca raspundeti corect la intreaga cerinta
h2. Exemplu
table(example). |_. primar.in |_. primar.out |
| This is some
  text written on
  multiple lines.
| This is another
  text written on
  multiple lines.
| 5
0 0
0 1
1 0
1 1
1 2
|1
1 0 0 1 0
|
h3. Explicatie
...
din casele 2, 3 si, respectiv, 5 vei alege cate un barbat, iar din casele 1 si 4 vei alege cate o femeie.
 
!problema/primar?ex.jpg!
 
Pe ulitele 1, 2 si 4, diferenta dintre numarul de barbati (punctele albastre) si numarul de femei (punctele rosii) este 0. Pe ulita 3, diferenta este 1. In total discriminarea are valoarea 1, fiind minima posibila pe acest exemplu.
Daca se considera ulita paralela cu OX care trece prin punctul de coordonate (1,2) se observa ca aceasta nu mai trece prin niciun alt punct dat in fisierul de intrare. Prin urmare dicriminarea pe ulita 5 va fi 0. Chiar daca ai fi ales ca din acea casa sa angajezi o femeie, discriminarea de pe ulita 5 ar fi ramasa tot 0, in schimb ar fi crescut discriminarea de pe ulita 3 si, totodata, discriminarea totala.
== include(page="template/taskfooter" task_id="primar") ==
 
 
 

Nu exista diferente intre securitate.

Diferente intre topic forum:

 
2639