Pagini: [1]   În jos
  Imprimă  
Ajutor Subiect: 056 Aria  (Citit de 5405 ori)
0 Utilizatori şi 1 Vizitator pe acest subiect.
proflaurian
Client obisnuit
**

Karma: 46
Deconectat Deconectat

Mesaje: 58



Vezi Profilul
« : Martie 03, 2013, 00:05:20 »

Aici puteţi discuta despre problema Aria.
« Ultima modificare: Martie 03, 2013, 00:12:57 de către Panaete Adrian » Memorat
SpiderMan
Nu mai tace
*****

Karma: -463
Deconectat Deconectat

Mesaje: 937



Vezi Profilul
« Răspunde #1 : Martie 03, 2013, 11:53:40 »

Merge cu long double, rezultatele sunt puse toate pe long double in .ok (http://infoarena.ro/job_detail/903871). Diferenta este ca solutia pe care-am propus-o eu, din cate am vazut, da rezultatele cu double pentru a 4-a zecimala corecte exact ca si long double. Probabil ca double-ul nu este la fel de precis in toate cazurile. Eu am facut .ok cu sursa mea cu long double, desi sursa oficiala e pe double. Se pare ca la mine merge double-ul, dar probabil in alte implementari nu merge.
[LE] Si inca ceva, referitor la acest topic, evaluatorul facut de mine este bazat pe stringuri, nicidecum pe double-uri sau pe altceva. Pur si simplu citesc cele 2 numere, adaug cate 4 zerouri la sfarsit sa fiu sigur ca sunt cel putin 4 dupa virgula, si le compar, atata tot Smile.
« Ultima modificare: Martie 03, 2013, 12:04:24 de către Simoiu Robert » Memorat
proflaurian
Client obisnuit
**

Karma: 46
Deconectat Deconectat

Mesaje: 58



Vezi Profilul
« Răspunde #2 : Martie 03, 2013, 12:18:13 »

Nu ai inteles ce am vrut sa spun. Ma refer la faptul ca in mod obisnuit noi evaluam la cate zecimale dupa virgula se potrivesc rezultatele. Normal ar fi sa apreciem precizia unui rezultat dupa numarul de cifre semnificative fara sa conteze ca diferenta apare la cifra zecimilor, sutimilor, unitatilor, zecilor sau chiar sutelor de mii. Examplu:

121315.12
121415.23

se potrivesc pe 3 cifre

0.00114
0.00125

se potrivesc pe o cifra.

Eu nu pun in discutie acolo problema particulara ci pur si simplu pun in dezbatere o filosofie de evaluare. Fara ca asta sa spuna ca am si dreptate Smile

L.E. Nici eu nu intelesesem ce vrei sa spui cu merge pe long double. Acum am inteles.
« Ultima modificare: Martie 03, 2013, 13:04:05 de către Panaete Adrian » Memorat
razvan.popa
Strain


Karma: -3
Deconectat Deconectat

Mesaje: 12



Vezi Profilul
« Răspunde #3 : Aprilie 23, 2013, 21:00:44 »

De ce daca fac infasuratoarea convexa si apoi calculez aria imi da gresit pe testele mai mari?

Am patit-o la un concurs cand trebuia sa faci infasuratoarea mai intai, si ma chinui sa aflu care e problema.
Memorat
PlayLikeNeverB4
Nu mai tace
*****

Karma: 212
Deconectat Deconectat

Mesaje: 721



Vezi Profilul
« Răspunde #4 : Aprilie 23, 2013, 21:18:23 »

De ce daca fac infasuratoarea convexa si apoi calculez aria imi da gresit pe testele mai mari?

Am patit-o la un concurs cand trebuia sa faci infasuratoarea mai intai, si ma chinui sa aflu care e problema.

Subtil. Foarte subtil  wink
Memorat
razvan.popa
Strain


Karma: -3
Deconectat Deconectat

Mesaje: 12



Vezi Profilul
« Răspunde #5 : Aprilie 23, 2013, 22:02:49 »

De ce daca fac infasuratoarea convexa si apoi calculez aria imi da gresit pe testele mai mari?

Am patit-o la un concurs cand trebuia sa faci infasuratoarea mai intai, si ma chinui sa aflu care e problema.

Subtil. Foarte subtil  wink

Da, are legatura si cu asta, dar chiar am patit-o, de asta mi-am adus aminte.  

Problema 2 – Sume

La concursul de programare organizat de Colegiul National de Informatica Piatra Neamt au sosit delegatii din N orase ale lumii. In pliantul  realizat de organizatori este marcata pozita geografica a fiecarei delegatii prin doua numere natural (abscisa si ordonata) corespunzatoare unui sistem de axe matematizat.
La inscrierea in concurs fiecare delegatie transmite organizatorilor o lista cu cinci numere naturale  x, y, a, b, c cu semnificatia urmatoare:
•   x - abscisa orasului de unde vine delegatia;
•   y - ordonata  orasului de unde vine delegatia;
•   a - numarul de elevi ai delegatiei ce participa la concursul grupei mici;
•   b - numarul de elevi ai delegatiei ce participa la concursul grupei mijlocii;
•   c - numarul de elevi ai delegatiei ce participa la concursul grupei mari;
Suma de lei alocata fiecarei grupe de concurs se determina astfel:
•   dublam aria poligonului convex de arie minima  ce contine in interior sau pe frontiera punctele pozitiilor geografice de unde provin participantii la concursul grupei respective obtinand numarul de lei alocat pentru premiile I, II, III si Mentiuni;
•   fiecare participant din concurs primeste 50 de lei pentru transportul local si 100 de lei pentru servirea meselor pe perioada concursului;
Cerinta
Determinati sumele de lei alocate fiecarei grupe de concurs.
Date de Intrare
Pe prima linie a fisierului de intrare sume.in se afla numarul natural N, reprezentand numarul de delegatii  participante la concurs. Pe fiecare din urmatoarele N linii se afla cinci numere naturale separate de spatii. Fiecare dintre aceste N linii caracterizeaza  o delegatie iar ordinea si sensul numerelor pe linnie este prezentata in enunt: x  y  a  b  c
Date de Iesire
In fisierul de iesire sume.out se vor scrie trei numere natural altfel:
•   pe prima linie un numar natural ce reprezinta suma de lei alocata grupei mici;
•   pe a doua linie un numar natural ce reprezinta suma de lei alocata grupei mijlocii;
•   pe a treia linie un numar natural ce reprezinta suma de lei alocata grupei mari;
Restrictii
•   4<= N <=500000;     0<= x, y <=30000;   0<= a, b, c <=9;
•   La fiecare grupa de concurs exista participanti din cel putin trei orase diferite;
•   Nu sunt doua delegatii din acelasi oras;

Exemplu
sume.in   sume.out
5
0 0 0 2 3
3 3 1 2 3
4 4 1 0 3
4 0 1 2 0
0 4 1 2 3   616
1224
1816

Timp maxim de executie/test: 1.0 secunde
Limite de memorie: total memorie disponibila 24 Mb.


Daca te uiti la rezultate la a 12-a ai sa vezi ca ala de pe locu 3(eu) a luat 20p cu greseala asta.
Memorat
reking
Strain
*

Karma: 3
Deconectat Deconectat

Mesaje: 39



Vezi Profilul
« Răspunde #6 : Iunie 18, 2013, 17:22:14 »

Niste idei despre modul de aflare al coord de intersectie a celor 2 polig???
 Very Happy Very Happy Very Happy ceva nu foarte complicat...cam pentru a 10-a intensiv.
Multumesc.
Memorat
Sapientia
Strain
*

Karma: 0
Deconectat Deconectat

Mesaje: 29



Vezi Profilul
« Răspunde #7 : Noiembrie 04, 2013, 08:25:16 »

De ce obtin doar 50 p? http://www.infoarena.ro/job_detail/1021687?action=view-source ..am calculat aria cu ajutorul determinantului si evaluatorul imi transmite :"Mai incearca "
Memorat
PlayLikeNeverB4
Nu mai tace
*****

Karma: 212
Deconectat Deconectat

Mesaje: 721



Vezi Profilul
« Răspunde #8 : Noiembrie 04, 2013, 09:07:38 »

abs() ? Citeste indicatiile de la problema.
Memorat
https
Strain
*

Karma: 0
Deconectat Deconectat

Mesaje: 30



Vezi Profilul
« Răspunde #9 : Martie 25, 2014, 18:10:46 »

De ce solutia oficiala afiseaza doar 5 zecimale(stiu ca asa e cerinta, dar nu vad unde scrie in sursa sa se afiseze numai primele 5 zecimale). Sau ce inseamna ca trebuie afisat cu o precizie de 10^(-5)?
Memorat
tudorgalatan
Strain
*

Karma: -1
Deconectat Deconectat

Mesaje: 27



Vezi Profilul
« Răspunde #10 : Ianuarie 15, 2016, 11:39:10 »

Înseamnă că trebuie să afișezi rezultatul cu 5 zecimale. De exemplu, poți include librăriile "cmath" și "iomanip" și să afișezi rezultatul sub forma "fout << fixed << setprecision (5) << abs (rezultatul obținut);". Funcția "abs" îți oferă rezultatul întotdeauna pozititv. Dacă ai un rezultat de forma "-x" sau "x", se va afișa întotdeauna pozitiv, adică "x".
Memorat
Pagini: [1]   În sus
  Imprimă  
 
Schimbă forumul:  

Powered by SMF 1.1.19 | SMF © 2006-2013, Simple Machines