•gabitzish1
|
 |
« Răspunde #75 : Martie 03, 2009, 14:56:07 » |
|
Foloseste long long.
|
|
|
Memorat
|
|
|
|
•Sorin_Ionut
Client obisnuit

Karma: 14
Deconectat
Mesaje: 53
|
 |
« Răspunde #76 : Martie 03, 2009, 16:12:42 » |
|
Foloseste long long.
Bun sfat acum iau ultimele 6 teste dar primele nu mai merg (e chiar ceva ciudat)  S-a rezolvat foloseam unsigned long long , dar valorile puteau fi si negative  Multam'
|
|
« Ultima modificare: Martie 03, 2009, 16:25:59 de către BYSorynyos »
|
Memorat
|
|
|
|
•APOCALYPTO
|
 |
« Răspunde #77 : Iulie 23, 2010, 12:46:44 » |
|
Salut! Imi poate explica si mie cineva de ce imi apar probleme la convertirea in double(sau float). Pentru aceasta bucata de cod primesc 0 puncte. double arie; double B;
if (arie < 0) arie = - arie; arie-=B; arie+=2; fout << (double)arie/2; //iar daca schimb cu (float) sau nu sterg (double) tot 0 iau.
Iar pentru aceasta primesc 100(desi nu e normal sa impart asa la 2) long long arie; long long B,N;
if (arie < 0) arie = - arie; fout << ((arie - B) >> 1) + 1;
|
|
|
Memorat
|
|
|
|
•SpiderMan
|
 |
« Răspunde #78 : Iulie 23, 2010, 12:56:25 » |
|
Cred ca stiu care e problema : daca faci ca in primul caz, rezultatul va fi afisat cu zecimale, iar in cazul in care numarul se imparte exact, numarul o sa fie de forma : X.000.. Dupa cum am citit problema, cred ca rezultatul trebuie sa fie intreg .
|
|
|
Memorat
|
|
|
|
•APOCALYPTO
|
 |
« Răspunde #79 : Iulie 23, 2010, 13:24:52 » |
|
Cred ca stiu care e problema : daca faci ca in primul caz, rezultatul va fi afisat cu zecimale, iar in cazul in care numarul se imparte exact, numarul o sa fie de forma : X.000.. Dupa cum am citit problema, cred ca rezultatul trebuie sa fie intreg .
Posibil. Eu rulez in windows(am probleme cu linux-ul) si nu imi afiseaza cu 0-uri. LE. Nici nu trebuie sa afiseze cu 0-uri probabil il linux afiseaza cu 0-uri.
|
|
« Ultima modificare: Iulie 23, 2010, 13:40:34 de către Dragos »
|
Memorat
|
|
|
|
•SpiderMan
|
 |
« Răspunde #80 : Iulie 23, 2010, 13:31:51 » |
|
Pune asa : fout << setprecision ( 0 ) << fixed , si introduci : #include <iomanip>
|
|
|
Memorat
|
|
|
|
•robert.badea
Strain
Karma: 2
Deconectat
Mesaje: 16
|
 |
« Răspunde #81 : Decembrie 06, 2010, 23:01:44 » |
|
Huh? Pot fi si negative? In cerinta scrie clar [0; ...
|
|
|
Memorat
|
|
|
|
•dutzul
|
 |
« Răspunde #82 : Iulie 22, 2012, 18:03:13 » |
|
eu incerc sa rezolv problema impartind poligonul in triunghuri si calculand pt fiecare nr de puncte din interiorul lui..numa ca nam idee cum sa impart un poligon concav
|
|
|
Memorat
|
|
|
|
•Schumi
Client obisnuit

Karma: 36
Deconectat
Mesaje: 74
|
 |
« Răspunde #83 : Iulie 22, 2012, 18:11:09 » |
|
Nu trebuie sa imparti nimic. Solutia foloseste teorema lui Pick. Citeste putin despre aceasta teorema si incearca sa rezovi dupa http://en.wikipedia.org/wiki/Pick's_theorem
|
|
|
Memorat
|
|
|
|
•dutzul
|
 |
« Răspunde #84 : Iulie 22, 2012, 18:18:15 » |
|
am inteles ca se poate si cu teorema lui pick ,dar eu sunt curios cum se face cu ideea mea,adica cum se imparte un poligon concav in triughiuri
|
|
|
Memorat
|
|
|
|
•danalex97
|
 |
« Răspunde #85 : Iulie 24, 2012, 08:30:09 » |
|
O posibila rezolvare la ce ai cerut tu cred ca iti pot oferi , sau , daca nu sunt destul de explicit , cel putin o idee. Pornesti dintr-un punct si parcurgi laturile 2 cate 2 si trasezi cate daca dreapta respectiva nu va fi trasata in exteriorul poligonului. Apoi mergi pe dreptele trasate si repeti operatia pana ai numai triunghiuri. Pe hartie am facut si cateva exemple cu 3-4 pasi si mi se pare ca ar merge. Problema e la implementat...
|
|
« Ultima modificare: Iulie 24, 2012, 08:41:06 de către Dan Alexandru »
|
Memorat
|
|
|
|
•Oancea.Catalin
Client obisnuit

Karma: -3
Deconectat
Mesaje: 75
|
 |
« Răspunde #86 : August 22, 2012, 21:52:32 » |
|
Primesc WA pe toate testele  . Nu stiu ce poate fi gresit. Imi merg toate testele bagate de mine si folosesc long long. De la ce ar putea fi? Job detail 780978.
|
|
|
Memorat
|
|
|
|
•visanr
|
 |
« Răspunde #87 : August 22, 2012, 23:07:31 » |
|
Afiseaza rezultatul final fara zecimale si iei 100 de pct.
|
|
|
Memorat
|
|
|
|
•Oancea.Catalin
Client obisnuit

Karma: -3
Deconectat
Mesaje: 75
|
 |
« Răspunde #88 : August 22, 2012, 23:17:19 » |
|
Da...asta era. Multumesc! 
|
|
|
Memorat
|
|
|
|
•bratiefanut
Strain
Karma: 3
Deconectat
Mesaje: 39
|
 |
« Răspunde #89 : Februarie 22, 2013, 16:20:35 » |
|
Am sursa asta pt problema "Copaci": #include <fstream> #include <stdlib.h> using namespace std;
........ g<<p; f.close(); g.close(); return 0; }
Obtin doar 60 de puncte, pe primele 4 teste iau WA. imi poate sugera cineva ceva? LE: cod sters pt a evita copy-paste.
|
|
« Ultima modificare: Martie 03, 2013, 13:07:01 de către Bratie Fanut »
|
Memorat
|
|
|
|
•laurion
|
 |
« Răspunde #90 : Februarie 23, 2013, 00:07:29 » |
|
Am sursa asta pt problema "Copaci": #include <fstream> #include <stdlib.h> using namespace std;
struct punct { long long x, y; }; punct v[100001];
long long n,i,a,b;
long long cmmdc( long long a, long long b ) { long long r; while( b ) { r = a % b; a = b; b = r; } return a; }
int main() { ifstream f("copaci.in"); ofstream g("copaci.out");
f>>n; for(i=1;i<=n;i++) f>>v[i].x>>v[i].y;
b=0; for(i=1;i<n;i++) b+=cmmdc(llabs(v[i].x-v[i+1].x),llabs(v[i].y-v[i+1].y));
long long x1,x2,y1,y2; for(i=1;i+1<n;i++) { x1=v[i].x-v[0].x; y1=v[i].y-v[0].y; x2=v[i+1].x-v[0].x; y2=v[i+1].y-v[0].y; a+=x1*y2-x2*y1; } a=llabs(a*0.5);
long long p=a-(b/2)+1; g<<p; f.close(); g.close(); return 0; }
Obtin doar 60 de puncte, pe primele 4 teste iau WA. imi poate sugera cineva ceva? trebuie sa iei si perechea (n,1) adica in for i<=n unde v[ n+1 ] = v[ 1 ]
|
|
|
Memorat
|
|
|
|
•bratiefanut
Strain
Karma: 3
Deconectat
Mesaje: 39
|
 |
« Răspunde #91 : Februarie 23, 2013, 15:29:41 » |
|
multumesc am luat 100 
|
|
|
Memorat
|
|
|
|
•MyrmekoMe
Strain
Karma: -1
Deconectat
Mesaje: 4
|
 |
« Răspunde #92 : Ianuarie 13, 2014, 18:22:34 » |
|
nu se incadreaza in timp -_-. va rog sa ma scuzati ca v-am luat 0,01 secunde din viata.  )
|
|
|
Memorat
|
|
|
|
•Vasile_Catana
Strain
Karma: 0
Deconectat
Mesaje: 5
|
 |
« Răspunde #93 : Ianuarie 19, 2014, 21:56:43 » |
|
am doar 60 de p , primele 4 WA , spuneti-mi va rog care ii eroare  program p1; var a,b:array[0..100002] of longint; b3,b2:array[0..1 shl 17 ] of char; f,g:text; i,n,j,k,m,x,y,a1,b1:longint; aria,nr:int64; function cmmdc(a1,b1:longint):longint; begin if (a1=0) or ( b1=0) then cmmdc:=b1 else cmmdc:=cmmdc(b1,a1 mod b1); end; begin assign(f,'copaci.in');settextbuf(f,b3);reset(F); assign(g,'copaci.out');settextbuf(g,b2);rewrite(G); readln(f,n); for i:=1 to n do readln(f,a ,b); a[n+1]:=a[1]; b[n+1]:=b[1]; for i:=1 to n do begin aria:=aria + (a*b[i+1]-b*a[i+1]); nr:=nr+cmmdc(abs(a-a[i+1]),abs(b-b[i+1])); end; aria:=abs(aria div 2); write(g,aria-(nr div 2) +1 ); close(F); close(G); end.
|
|
|
Memorat
|
|
|
|
•andrei.arnautu
Client obisnuit

Karma: 9
Deconectat
Mesaje: 58
|
 |
« Răspunde #94 : August 08, 2014, 14:52:35 » |
|
Imi pare bine ca am dat de aceasta problema, nu stiam de teorema lui Pick inainte. 
|
|
|
Memorat
|
|
|
|
•alexandru822
Strain
Karma: 0
Deconectat
Mesaje: 2
|
 |
« Răspunde #95 : Aprilie 01, 2015, 10:33:56 » |
|
Deci eu nu inteleg ce gresesc. As pune sursa dar ar lasa tentative de copy paste... folosesc si long long int, pun rezultatul intrun numar intreg si apoi il afisez si tot iau 40p. pe ultimele 6 iau 0...
|
|
|
Memorat
|
|
|
|
•otniel
Strain
Karma: -13
Deconectat
Mesaje: 49
|
 |
« Răspunde #96 : Aprilie 20, 2017, 10:57:03 » |
|
eu la problema asta am folosit long long pentru arie in loc de double si am luat 100. De ce functioneaza si cu long long? Sunt gresite testele sau nu conteaza, iar daca nu conteaza de ce merge?
|
|
|
Memorat
|
|
|
|
•mouse_wireless
Strain
Karma: 2
Deconectat
Mesaje: 13
|
 |
« Răspunde #97 : Octombrie 05, 2018, 22:13:29 » |
|
Coordonatele copacilor au valori intregi din intervalul [0, 2.000.000] Asta inseamna ca inmultirea coordonatelor ar trebui facuta pe tipuri de date pe 64 de biti (i.e. long long in C/C++), dar sunt multe surse care iau 100 de puncte desi opereaza cu tipuri de date pe 32 de biti. Interesant ca nu este niciun test care sa verifice asta 
|
|
|
Memorat
|
|
|
|
|