• Acasă
  • Despre noi
  • Autori
  • Mărturii
  • Arhivă
  • Trimite Articol
  • Contact

WORLDIT

Lumea în 1 și 0.

  • Știri
    • Tehnologie
    • Tehnologie mobilă
    • Securitate
    • Developers
    • Știință
    • Benzi desenate
    • Jocuri
    • Intern
  • Tehnic
    • Browser
    • C#
    • C/C++
    • Challenge
    • HTML/CSS
    • Javascript, Ajax, jQuery
    • Open Source
    • PHP
    • Python
    • Securitate IT
    • Socializare
    • WordPress
    • Altele
  • Recenzii
  • Interviuri
  • Evenimente

Solutii probleme OJI 2010 – liceu

1
  • Publicat de Andrei Avădănei
  • în C/C++
  • — 10 mart., 2010 at 8:00 am

In urma cu cateva zile s-a terminat si runda de calificari a olimpiadei judetene de informatica. Dupa aceasta runda are loc batalia intre creierele informaticii din Romania la Constanta, in vacanta de Pasti. Pentru cei care sunt curiosi de problemele care au fost propuse, mai jos veti avea solutiile la o parte dintre acestea : clasele a 9a(problema numar si livada) si a 10a (problema text si expozitie).

Clasa a 9a OJI 2010

1. Problema numar.

Aplicatie a numerelor mari si practic observatie pentru CMMDC. Problema se reduce la a determina CMMDC intre numarul mare „fara” punctul ce delimiteaza partea intreaga de cea zecimala si numarul mare format din valoarea 1 urmata de atatea zerouri cate are partea zecimala. S-ar putea folosi CMMDC pe numere mari pentru a face asta, dar din moment ce singura sansa ca al doilea numar sa se reduca este sa se divida la 2 si 5, nu ne ramane decat sa facem implementare pe numere mari pentru impartirea unui numar mare la un numar mic. 🙂

Solutia facuta de mine se foloseste de listele din STL pentru a implementa eficient numerele mari. Am ales sa folosesc aceasta structura deoarece ofera o dinamica mult mai mare ca restul structurilor existente. 🙂

2. Problema livada.

Problema livada nu este decat o aplicatie a vectorilor si a determinarii unor maxime. Ambele cerinte se pot face in timp liniar, folosindu-ne de aceeasi idee (comparand V[i] cu V[i-1] si pastrarea unui contor pentru egalitati), cea de-a doua avand nevoie de o sortare initiala.
Solutia mea are implementata sortarea din libraria STL. 🙂

Clasa a 10a OJI 2010

1. Problema text.

Problema joc reprezinta o aplicatie a programarii dinamica pe siruri de caractere. Initial se memoreaza si se numara cuvintele din intreg textul. Se va calcula pentru fiecare, folosind dinamica lungimea maxima unui subsir, determinandu-se la sfarsit valoarea maxima dintre lungimile calculate. Pentru a reconstitui solutia vom avea nevoie de un vector de legaturi.

Solutia abordata de mine incearca determinarea pentru fiecare litera in parte, lungimea maxima a unui subsir care se termine cu litera respectiva pe ultima pozitie din acel subsir. Implementarea duce la un algoritm liniar.

2. Problema expozitie.

O aplicatie a programarii dinamice si a combinatoricii. Datorita dimensiunii lui n si d din enunt, problema devine si o aplicatie a numerelor mari.

Eliminam initial din n scandurile pe care se afiseaza cate k desene de acelasi tip (k*d). Asadar, daca noul n este egal cu 0 avem un singur mod de aranjare. Daca noul n < 0 atunci nu avem nici un mod de aranjare (solutia este 0). In caz contrar determinam Comb(n-d*k,d-1), folosind triunghiul lui Pascal si operatii cu numere mari. Nu ne ramane decat sa implementam adunarea pe numere mari.

Si de aceasta data, solutia implementata de mine foloseste listele din STL.

Clasele 11-12 OJI 2010

1. Problema joc.

De completat.

2. Problema immortal.

De completat.

Daca ati reusit sa veniti cu solutii mai interesante sau doriti sa completati lista cu ultimile probleme ramase va rog lasati un comentariu valid (sa contina adresa de e-mail) si va voi contacta pe aceasta. Articolul va suferi modificari imediat ce vor fi necesare completarile.

Etichete: algoritmicaOJI 2010olimpiada de informaticaONI 2010Probleme algoritmicărezultate oji 2010Tehnic

— Andrei Avădănei a scris 1246 articole

Andrei scrie pe worldit.info din vara lui 2011. Este fondatorul Asociatiei Centrul de Cercetare in Securitate Informatica din Romania - CCSIR si coordoneaza DefCamp, cea mai importanta conferinta de securitate informatica & hacking din Europa Centrala si de Est. Andrei ofera in cadrul Bit Sentinel servicii de securitate informatica, penetration testing, security management, recuperarea de pe urma unui atac cibernetic, training-uri si workshop-uri.

  • Articolul anterior Avem motive sa ne temem de Google?
  • Articolul următor Foursquare combina Google Maps si devine FourWhere

1 Comentariu

  1. Stefan spune:
    martie 1, 2012 la 6:23 pm

    Salut! Am vizualizat rezolvarea problemei text de la a 10a si am o rugaminte. Eu nu prea am lucrat cu stdio pana acum si, te rog, daca poti sa imi dai o varianta folosind fstream pt citirea din while-ul de mai jos:

    void read()
    {
    int LN=0;
    char c;
    freopen("text3.in","r",stdin);
    freopen("text3.out","w",stdout);
    while(scanf("%c",&c)!=-1)
    {
    ......
    }
    }

    Multumesc anticipat!
    //scuze pt erorile de redactare 🙂


  • Facebook

    WorldIT.info
  • Ultimele Atacuri Cibernetice din Romania – RO Hacked

    [wp_rss_retriever url="https://rohacked.bit-sentinel.com/feed/" excerpt="none" items="5" read_more="false" new_window="true" thumbnail="false" cache="0"] RO Hacked este registrul atacurilor cibernetice din România.
  • Caută

  • Articole Recomandate

    • Recent Posts
    • Tags
    • Număr record de participanți la DefCamp 2015, cel mai important eveniment dedicat securității cibernetice din Europe Centrala si de Estdecembrie 2, 2015
    • La DefCamp 2015 vei afla prin ce tehnici pot fi evitate măsurile de securitate ale sistemelor informatice criticeoctombrie 16, 2015
    • Ultima sansa sa rezervi bilete de tip Early Bird la DefCamp 2015septembrie 1, 2015
    • 15 sfaturi despre cum poti deveni un programator bun venite de la specialisti romaniaugust 4, 2015
    • algoritmica Android antivirus Apple Avadanei Andrei benzi desenate BitDefender blog browser C++ Chrome concurs eveniment Facebook Firefox Google google chrome hacking html5 infografic informatica internet Internet Explorer IT javascript linux Microsoft Mozilla Firefox online PHP programare retea sociala review Romania securitate Tehnologie Twitter web Windows Windows 7 Wordpress WorldIT worldit.info Yahoo! YouTube
  • august 2022
    L Ma Mi J V S D
    1234567
    891011121314
    15161718192021
    22232425262728
    293031  
    « dec.    
  • Link-uri Sponsorizate

    • laptop second hand

    • Calculatoare Second Hand

    • cod voucher pc garage

  • Home
  • Tehnic
  • C/C++
  • Solutii probleme OJI 2010 – liceu
  • Important

    • Bit Sentinel
    • Centrul de Cercetare în Securitate Informatică din România
    • DefCamp
  • Prieteni

    • BetiT.ro
    • bijuterii handmade
    • Computerica | Resurse gratuite PC
    • Descopera.org
    • Gadgeturi si IT – Giz.ro
  • Prieteni

    • PC – Config
    • RO Hacked
    • Stiri IT

Copyright © 2009-2014 WORLDIT. Toate drepturile Rezervate.
Termeni și condiții | Contact | Licența Creative Commons