Pagini: 1 [2]   În jos
  Imprimă  
Ajutor Subiect: 110 Granita  (Citit de 9292 ori)
0 Utilizatori şi 1 Vizitator pe acest subiect.
SpiderMan
Nu mai tace
*****

Karma: -463
Deconectat Deconectat

Mesaje: 937



Vezi Profilul
« Răspunde #25 : Iulie 08, 2011, 22:51:09 »

Mie-mi da 0 la amandoua.
Memorat
Smaug-
Strain


Karma: 5
Deconectat Deconectat

Mesaje: 11



Vezi Profilul
« Răspunde #26 : Iulie 09, 2011, 16:56:15 »

Multumesc am rezolvat-o deja, intelesesem gresit problema, crezand ca daca un aparat este acoperit de doua aparate atunci el este redundant, dar era ca un aparat este redundant doar daca este acoperit in intregime de un singur alt aparat.
Memorat
ctlin04
Nu mai tace
*****

Karma: 23
Deconectat Deconectat

Mesaje: 207



Vezi Profilul
« Răspunde #27 : Iulie 10, 2011, 16:36:28 »

in sfirsit am rezolvat si eu problema pe 100, cind foloseam bublesort obtineam 80 dar totusi insertia este mai rapida si mai eficienta, cu toate ca testul 3 nu stiu din care motive a mers la limita celelalte teste sunt destul de rapide. Pentru cei care inca nu au rezolvat problema recomand insertia pentru a lua 100. Yahoo!
Memorat
harababurel
Client obisnuit
**

Karma: 23
Deconectat Deconectat

Mesaje: 62



Vezi Profilul
« Răspunde #28 : Martie 15, 2012, 20:57:05 »

O intrebare: cum sortez cu functia qsort() un tablou bidimensional, pe baza compararii unei singure coloane?
Mai exact, daca am matricea a[j], vreau ca prima coloana sa fie sortata crescator, iar asupra celei de-a doua sa se efectueze exact aceleasi interschimbari (daca in matricea a initiala, numerele i si j de pe o anumita linie sunt pereche (sunt pe aceeasi linie), si in matricea finala, sa ramana tot pereche (sa ramana pe aceeasi linie)).
Memorat
psycho21r
Client obisnuit
**

Karma: -15
Deconectat Deconectat

Mesaje: 74



Vezi Profilul
« Răspunde #29 : Martie 15, 2012, 21:04:27 »

Nu interschimbi, iei un vector separat pe care îl sortezi, dar nu comparând elementele din vector, ci comparând elementele din matricea ta.
Memorat
harababurel
Client obisnuit
**

Karma: 23
Deconectat Deconectat

Mesaje: 62



Vezi Profilul
« Răspunde #30 : Martie 15, 2012, 21:10:40 »

Si asta cum fac?
Memorat
klamathix
Echipa infoarena
Nu mai tace
*****

Karma: 733
Deconectat Deconectat

Mesaje: 1.216



Vezi Profilul
« Răspunde #31 : Martie 15, 2012, 21:19:38 »

Treci pe STL si e mai simplu.

Cod:
#include<algorithm> // pentru sortare
#include<vector>
#include<iostream>
using namespace std;
int i , n , a , b;
vector< pair<int , int> > v;

int main()
{
for(i = 1; i <= n; ++i) {
cin >> a >> b;
v.push_back(make_pair(a, b));
}

sort(v.begin() , v.end());

return 0;
}

Un element A de tip pair<int , int> este o pereche de doua numere intregi. A.first este primul element, iar A.second este cel de-al doilea. make_pair(a, b) iti returneaza un pair constituit din elementele a si b. Aici ai nevoie de mai multe perechi, deci am declarat un vector <> de pair-uri. Vectorul asta are initial marime 0, iar ca sa adaugi elemente la el folosesti v.push_back(element). In cazul de fata, element este de tip pair.

Sortarea este din biblioteca <algorithm> si sorteaza un vector intre capetele date. Pentru perechi, criteriul de comparare implicit este crescator dupa primul element iar in caz de egalitate dupa al doilea. Daca doresti un alt criteriu, poti da ca al treilea parametru o functie de comparare.

Mai multe detalii gasesti pe
http://cplusplus.com/reference/stl/vector/
http://cplusplus.com/reference/algorithm/sort/

Iti recomand sa inveti STL  Smile Codul poate deveni foarte elegant si scurt daca il folosesti cum trebuie.
Memorat
harababurel
Client obisnuit
**

Karma: 23
Deconectat Deconectat

Mesaje: 62



Vezi Profilul
« Răspunde #32 : Martie 17, 2012, 00:29:48 »

Multumesc, cu metoda asta am reusit sa iau suta
Memorat
Detrol2k
Strain
*

Karma: -2
Deconectat Deconectat

Mesaje: 48



Vezi Profilul
« Răspunde #33 : Octombrie 16, 2012, 16:57:17 »

Cum poti face verificarea intr-un timp mai mic de N^2 ? Sad
Memorat
SebiSebi
Nu mai tace
*****

Karma: 76
Deconectat Deconectat

Mesaje: 306



Vezi Profilul
« Răspunde #34 : Octombrie 16, 2012, 17:11:43 »

Poti rezolva mai intai problema http://infoarena.ro/problema/linterv (daca nu stii cum , are solutie oficiala). Succes!
Memorat
Detrol2k
Strain
*

Karma: -2
Deconectat Deconectat

Mesaje: 48



Vezi Profilul
« Răspunde #35 : Octombrie 16, 2012, 20:08:59 »

Poti rezolva mai intai problema http://infoarena.ro/problema/linterv (daca nu stii cum , are solutie oficiala). Succes!

Desteapta sugestia! Am reusit sa le fac pe amandoua de 100! Traiasca familia ta!  Yahoo!
Memorat
freak93
Echipa infoarena
Nu mai tace
*****

Karma: 342
Deconectat Deconectat

Mesaje: 819



Vezi Profilul
« Răspunde #36 : Noiembrie 25, 2012, 18:57:05 »

Pe linux in versiunea noastra de GCC nu acolo se gaseste INT_MAX. E de preferat sa folosesti numeric_limits<int>::max() in loc. (Incluzi limits(fara .h)).

Si Visual Studio nu e tocmai un argument ca merge. El nu prea respecta toate regulile legate de C++. De exemplu tu in clasa definesti operatorul cu paramtrii const(const Boundary &a, const Boundary &b) ... etc,  dar implementezi in exterior fara const. Modifica in ambele locuri sa ai la fel.

L.E:
Vezi ca inline in interiorul unei clase nu face nimic. Orice functie pe care o implementezi dupa class ... { si inainte sa inchizi acolada se defineste inline. Daca o implementezi in exterior(cum faci tu) trebuie sa o dai ca inline acolo unde o implementezi.

L.L.E: @jumper007 De ce iti stergi posturile? Poate lumea invata ceva din intrebarile pe care le pui mai tarziu cand se uita
Memorat
Opportunity
Strain


Karma: -2
Deconectat Deconectat

Mesaje: 7



Vezi Profilul
« Răspunde #37 : Ianuarie 10, 2013, 01:39:00 »

nush cum la voi la mine cu quicksort a mers pe maxim 12ms  Cool
Citat
struct dvc{long a,b;};

void qsort(long l,long r){
    long i=l,j=r,p=t[(l+r)/2].a; dvc aux;
    while (i<j){
        while (t.a<p) i++;
        while (t[j].a>p) j--;
        if (i<=j) aux=t, t=t[j], t[j]=aux, i++, j--;
    }
    if (j>l) qsort(l,j);
    if (i<r) qsort(i,r);
}
Memorat
DavidBogdan
Strain


Karma: 0
Deconectat Deconectat

Mesaje: 2



Vezi Profilul
« Răspunde #38 : Martie 14, 2015, 10:52:01 »

ce inseamna Killed by signal 11(SIGSEGV)
Memorat
DavidBogdan
Strain


Karma: 0
Deconectat Deconectat

Mesaje: 2



Vezi Profilul
« Răspunde #39 : Martie 14, 2015, 10:52:35 »

ce inseamna Killed by signal 11(SIGSEGV)
Memorat
Owlree
Strain
*

Karma: 16
Deconectat Deconectat

Mesaje: 27



Vezi Profilul
« Răspunde #40 : Martie 14, 2015, 12:56:23 »

SIGSEGV este un semnal pe care, de obicei, sistemele tip unix la trimit proceselor care comit segmentation facult, sau mai exact access violation. Acest lucru întâmplă atunci când încerci să accesezi o zonă de memorie care nu îți este destinată. De exemplu, dacă ai declara un vector de 10 elemente int a[10] și după ai vrea să folosești a[15], ar fi foarte probabil ca programul tău să primească SIGSEGV.

Recomand să citești acest articol din documentația evaluatorului de pe infoarena.
« Ultima modificare: Martie 14, 2015, 13:01:33 de către Robert Badea » Memorat
Pagini: 1 [2]   În sus
  Imprimă  
 
Schimbă forumul:  

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