X şi 0

mai 13, 2008

X şi 0 este primul joc făcut de mine având scopul de a învăţa un pic de OpenGL. L-am realizat prin clasa a 10-a şi acuma fiind a 12-a a sosit momentul să îl readuc la viaţă, la ideea unui prieten, pentru a-l folosi pe post de atestat. Din păcate am ceva de lucru la el, poate chiar să îl rescriu din nou, deoarece sursa este foarte prost scrisă şi văd că am inserat pe acolo lucruri care nu ştiam exact cum funcţionează.

Progrămelul l-am realizat în OpenGL folosind window system-ul GLUT. GLUT este un mod bun de a descoperi OpenGL doarece nu e necesar să înveţi win32 sau x window system.

Dacă vreţi să vedeţi “minunăţia” de cod intraţi aici, mai târziu o să postez şi varianta nouă :) , iar pentru compilare nu uitaţi să vă instalaţi GLUT.

X si 0

ONI si altele

mai 11, 2008

De o saptamana s-a sfarsit Olimpiada Nationala de Informatica 2008 si am venit acasa nu cu rezultatele asteptate. In primul rand nu m-am calificat in lot :( si asta m-a dezamagit destul de tare, partea cealalta ca nu am luat mentiune doar medalie de bronz [ e prima data cand s-au dat medalii la ONI :D ] nu a fost asa downfall, doar din cauza la niste mici buguri s-a intamplat asta.

In afara de rezultatele obtinute de ONI 2008, ce s-a tinut la Ploiesti, am fost destul de multumit, subiectele au fost destul de bune, prima data cand s-au acordat medalii si am fost dusi intr-o excursie destul de frumoasa la Castelul Peles.

Totusi ceva m-a enervat extrem de tare, mancarea a fost super nasoala, pe langa ca nu era prea grozava era si putina, si si ne dadeau acelasi meniu zi dupa zi … Si daca tot e vorba despre lucruri ce ma enerveaza care e treaba cu autocarele introduse de primaria orasului Tg Mures pentru transportul in comun in oras ?! E un lucru penibil, pentru asta sunt autobuze si maxi-taxi nu autocare … Urcarea e greoaie si de fiecare data ma simt de parca ma duc in excursie pana la scoala …

Gata, cam atat cu frustarile :) . In caz ca nu ati observat acum nu am scris cu diacritice, asta e din cauza ca am ceva probleme cu linuxul … din nou …

Cel mai bun lucru la linux

aprilie 13, 2008

You can kill everything ! Da, când un program ţi se blochează ii dai un simplu kill process şi într-o secundă e gata :), mult mai repede decât în Windows. Mie îmi este destul de folositoare chestia asta deoarece des mi se blochează browserul când navighez prin site-uri ce necesită o putere de procesare mai mare decât a PC-ului meu (am doar 700 mhz si 128 sdram) şi când mi se întâmplă nefericitul lucru mă descarc killing it :).

Lene

aprilie 6, 2008

Vine bacu în două luni şi eu nu sunt deloc în stare să îmi fac un program decent pentru a învâţa. Când încep să mă pun pe treabă, în două ore m-am şi plictisit şi fac o pauză mult prea lungă :) . La română până acum nu am învăţat mai nimica, prefer să fac la mate o variantă două, dar şi aici fac câteva exerciţii şi îmi vine să dorm deja.

Problema e că în loc să fac pentru bac mi se pare mult mai util să mă pregătesc pentru olimpiada de informatică şi când încep să învăţ la română sau mate pierd mult timp să îmi ridic interesul şi ajung să nu mai fac nimica … Altă dificultate e că am obiceiul prost de a lăsa lucrurile pe ultima sută de metri.

În final mi se par potrivite versurile de la Lazy de Deep Purple :

“You’re lazy just stay in bed
You’re lazy just stay in bed
You don’t want no money
You don’t want no bread

If you’re drowning you don’t clutch no straw
If you’re drowning you don’t clutch no straw
You don’t want to live you don’t want to cry no more

Well my trying ain’t done no good
I said my trying ain’t done no good
You don’t make no effort no not like you should

Lazy you just stay in bed
Lazy you just stay in bed
You don’t want no money
You don’t want no bread”

Zenwalk

aprilie 5, 2008

De curând am trecut de la Ubuntu la Zenwalk Linux la recomandarea unui prieten deoarece mă plângeam de cât de incet îmi rulează pe PC-ul meu Ubuntu. A fost o alegere foarte bună deoarece Zenwalk are cerinţe mici de sistem rulând repede pe computerul meu în comparaţie cu Ubuntu.

Pe lângă faptul că este rapid este şi uşor de configurat, un lucru ce mi s-a părut un pic mai greu a fost selectarea limbii în care vrei să scrii la tastatură. A fost necesar să intru în xorg.conf şi să modific următoarea linie:

Option “XkbLayout” “us,ro

După, tot ce mai trebuia era să adaug la item-urile din panelul de pe desktop keyboard layout switcher şi schimbam de acolo limba. Şi încă un lucru de reţinut este că dacă vrei să scrii de exemplu “ă” apeşi AltGR (alt dreapta) + a.

Mai jos este un screenshot cu desktopul meu din Zenwalk :

Specimene

martie 18, 2008

Cu ocazia Judeţenei de Informatică mi-am adus aminte de câţiva indivizi pe care am reuşit să îi întălnesc de-a lungul timpului.

Unul ar fi acum un an, când am primit subiectele la olimpiadă era o problemă în care se cerea afişarea rezultatului modulo nush cât şi domnul cum le avea într-ale informaticii întreabă cu un aer superior ”da ce e modulo ăsta, număr magic ?”.

Bun acesta e unul, oricum am mai întălnit un individ ce nu ştia ce e modulo dar la el se înţelegea, era doar a 9-a în schimb cel de sus era a 11-a.

Alt specimen era unul care mă întreba pe timp de concurs cum se deschide un fişier … ?!? … dar din păcate am mai întălnit de genu dar îşi dădeau seama că e destul de naşpa să nu ştii măcar atât.

Şi finalul, acesta e cel mai tare şi simpatic, primim subiectele şi după zece minute se ridică şi zice ”eu nu am mai făcut aşa ceva în viaţa mea ?!?!” şi pleacă :) .

OJI 2008

martie 15, 2008

Olimpiada Judeţeană de Informatică 2008 s-a desfăşurat azi pe 15 martie şi ce pot să zic, s-au întâmplat lucruri dubioase care arată că OJI - ul este destul de random, dar la categoria mea de vârstă lucrurile s-au desfăşurat normal.

Oricum eu am reuşit să mă calific, şi cam acestea au fost primele 3 punctaje la clasa a 12-a Mureş:

  • 190 Sachelarie Bogdan Lucian
  • 140 Florin Pogocsan
  • 130 Paul Bârsan

Felicitări lui Bogdan pentru că el a băgat soluţia calumea cu cautare binară şi principiul includerii şi al excluderii la problema Număr. După cum vedeţi eu sunt pe locul 2, aşa a fost de fiecare data la ultimele 3 judeţene, Bogdan primu eu al doilea, la naiba si anul asta tot asa :) .

Şi părerea mea este că OJI - ul a fost foarte uşor pe lângă anii trecuţi cel puţin la 11-12, maxim se putea făcea lejer deorece la problema Număr exista o soluţie destul de accesibilă pentru multă lume, iar la Iepuri nu era deloc greu de observat dinamica.

EDIT: în caz că vă uitaţi după rezultatele centralizate, le puteţi găsi aici pe siteul ONI 2008.

Cum să …

martie 11, 2008

Îţi repari mobilul … Am şi eu un mobil care după ce l-am scăpat pe jos a început să scoată sunete foarte enervante în timpul unei convorbiri. Şi ghiciţi cum l-am reparat, după două săptămâni a ajuns să cadă din nou pe jos şi gata acuma se aude din nou clar :D .

TopCoder Open 2008

martie 10, 2008

Acesta este un mic update în domeniul compeţiilor de informatică :D , că nu am mai scris de mult .

Ultima rundă online de calificare pentru TopCoder Open 2008 a avut loc pe 8 Martie 2008, iar 2 români au fost foarte aproape de calificare Liviu Ciortea (_efer_) şi Victor Rusu (victorsb) care a reuşit să fie pe locul 73 şi primii 72 se calificau. Deşi Victor este doar în clasa a 12-a el demonstrează că are un potenţial enorm în TopCoder, puteţi vedea şi din graficul rating-ului lui, doar continuă să crească :) .

Să sperăm la performanţe căt mai bune pe viitor din partea românilor noştri.

Şi încă un lucru, deşi am crezut că nu vom avea nici un reprezentant la TCHS 2008 se pare că până la urmă un finalist renunţă la judeţeană, acesta fiind Moga Florian. Aici puteţi să vedeţi lista finaliştilor anunţaţi şi baftă la finală !

EDIT: Se pare că Victor Rusu si Liviu Ciortea totuşi se califică pentru rundele onsite :D. Felicitări şi succes pe mai departe.

Al naibii de sortare

februarie 25, 2008

Cum OJI 2008 se apropie sunt nevoit să mă pregătesc câteva săptămâni în BC 3.1, cea ce înseamnă să fac probleme fără lejeritatea oferită de stl. Şi am început să lucrez la problema cârnaţi de pe IA în care era necesară o sortare.

Foloseam un quicksort şi implementarea era în genu:

  1. void quicksort(int st,int dr)
  2. {
  3. int m,i,j;
  4. inf aux;

  5. m = (st + dr) / 2;

  6. i = st; j = dr;

  7. do
  8. {
  9. while ( v[i].timp < v[m].timp ) i+=1;
  10. while ( v[j].timp > v[m].timp ) j-=1;
  11. if ( i <= j )
  12. {
  13. aux = v[i];
  14. v[i] = v[j];
  15. v[j] = aux;
  16. i+=1;
  17. j-=1;
  18. }
  19. } while ( i <= j );

  20. if ( i < dr ) quicksort(i,dr);
  21. if ( j > st ) quicksort(st,j);
  22. }

Bucaţile îngroşate evidenţiază greşeala mea fenomenală pe care am reuşit să o fac, la pivot reţineam poziţia nu valoarea lui şi aşa puteam să o pierd uşor.

Corectura necesară este următoarea:

m = v[(st + dr) / 2].timp;
while
( v[i].timp < m ) i+=1;

while
( v[j].timp > m ) j-=1;

De greşeală mi-am dat seama după ce m-a atenţionat un prieten, eu iniţial crezând că este quicksortul făcut total greşit, şi pe problemă am stat cam 4 ore şi nici nu mi-a trecut prin cap că s-ar putea ca sortarea să fie de vină numa când am folosit-o pe cea din stl, luând astfel 100.

Şi acum dacă tot am deschis subiectul sunt curios ce sortări mai folosiţi, mie mi se pare că heapsort ar fi o alegere bună, chiar cunosc pe cineva care numa heapsort foloseşte pentru sortare :) .

PS: scuzaţi-mi formatarea slabă de cod, nu prea ştiu cum stă treaba