Afişează mesaje
Pagini: [1]
1  infoarena - concursuri, probleme, evaluator, articole / Informatica / Clasament : Martie 29, 2007, 10:50:34
OK, problema (de fapt e o particica dintr-un program dar pur si simplu nu pot sa ma concentrez suficient):

Avem un sir de n persoane care intra intr-un turneu. Se da matricea care ne spune cine pe cine bate; sa se alcatuiasca ordinea clasamentului turneului.

Evident, intai se face suma din matricea respectiva ca sa vedem cine are cele mai multe victorii. In caz de egalitate, ne uitam la meciul dintre cei doi. Totusi, nu ma prind cum as putea sa-i sortez. M-am gandit la o sortare simpla, dar nu merge asa usor pentru ca trebuie sa schimbi si matricea cand interschimbi doua persoane nu?
Pff. Pls help.
2  infoarena - concursuri, probleme, evaluator, articole / Informatica / Răspuns: operatii pe numere mari : Martie 23, 2007, 12:25:06
Heh, am incercat si eu am facut adunare, scadere, inmultire cu o cifra, inmultire, factorial, putere adica tot care sa nu aiba impartire.

Ideea cu scaderi cade: scade tu de 10^200 ori 1 din 10^200. Asta nu e deloc randament. Trebuie sa te gandesti EXACT cum faci tu o impartire pe hartie, cum a zis Sima Cotizo.

Dupa impartire ai acces si la aranjamente, combinari...
3  infoarena - concursuri, probleme, evaluator, articole / Informatica / Răspuns: int question (); : Martie 01, 2007, 14:51:11
Hehe... stiam ca multa lume isi prinde nasul. Ideea e ca daca in expresii de genul a && b a are valoarea 0 atunci b nu mai este evaluata, la fel in a || b daca a e 1 atunci b nu mai apuca sa fie evaluata. Wink
4  infoarena - concursuri, probleme, evaluator, articole / Informatica / int question (); : Februarie 28, 2007, 12:37:51
Se considera functia urmatoare:

Cod:
int question ()
{
int a=1,b=-1;

a= ( (--a) && (b++) );
a++;
b= ( b || (a--) );

cout<<"("<<a<<","<<b<<")";
return 1;
}

Incercati sa raspundeti la intrebare fara sa rulati programul.
5  infoarena - concursuri, probleme, evaluator, articole / Informatica / Raspuns: c++ : Februarie 21, 2007, 12:37:19
Am cautat si eu ceea ce cauti acum, am incercat mai multe carti dar cel mai explicit mi s-a parut Herbert Schildt in McGraw-Hill - C++ from the Ground Up.

Cat despre cum poti face rost de carte... hmm... exista varianta legala care te costa putin peste 150 RON sau... vorbim pe private  Smile
6  infoarena - concursuri, probleme, evaluator, articole / Arhiva de probleme / Răspuns: 307 Maxsecv : Februarie 01, 2007, 13:57:35
nu ai nevoie de sirul ala. se poate usor si fara. Citeste mai bine o variabila de n ori

Doamne... frate... de ce m-am complicat?

Mda... no comment Smile

Edit: tot 6/10... 0_O la 10-20 ms... fara vector si fara alocare dinamica.
7  infoarena - concursuri, probleme, evaluator, articole / Arhiva de probleme / Raspuns: 002 Jocul Flip : Februarie 01, 2007, 13:46:08
Ah, atunci cade III. Clar Backtracking Smile Era mai interesant fara Smile
8  infoarena - concursuri, probleme, evaluator, articole / Arhiva de probleme / Răspuns: 307 Maxsecv : Februarie 01, 2007, 13:45:03
Da, am incercat sa fac o data cu citirea. De fapt... uite sursa:

Cod:
#include <iostream.h>
#include <fstream.h>

ifstream in ("maxsecv.in");
ofstream out ("maxsecv.out");

int main ()
{
int max1=0,max2=0,N,*a;
register int i,k=0;

a=new int [1000000];

in>>N;
for (i=0;i<N;i++)
 {
 in>>a[i];
 if (!a[i])
   k=0;
  else
   k++;
 if (k>max1)
  max1=k;
 else
  if (k>max2)
   max2=k;
 }

out<<max1+max2;

delete [] a;
return 0;
}

Poate imi scapa ceva... oricum de corect e corect ... 6/10 Smile
9  infoarena - concursuri, probleme, evaluator, articole / Arhiva de probleme / Raspuns: 002 Jocul Flip : Februarie 01, 2007, 11:38:21
I. M-am gandit, cum s-a mai zis, sa fac suma de negative si suma de pozitive si daca e mai mare atunci FLIP. La fel, s-a mai spus ca asta nu e solutie (cand faci FLIP strici alte sume care ar putea fi abordate mai "eficient" - dai FLIP la alea, o "sacrifici" pe asta... ma rog, intelegi ideea)

II. Backtracking - asta pare a fi cel mai logic... dar totusi... de ce sa te complici? Asa ca ajungi la III.

III. Dai FLIP doar la o coloana si o linie nu? Atunci de ce sa nu iei doua for-uri si pentru fiecare linie si fiecare coloana sa dai FLIP, calculezi suma si voila.

PS: Totusi, nu am incercat deci... Smile poate vorbesc in dodii.
10  infoarena - concursuri, probleme, evaluator, articole / Arhiva de probleme / Răspuns: 307 Maxsecv : Februarie 01, 2007, 11:28:04
exact ideea asta am folosit si eu... singura problema e ca la primele 6 imi da OK dar apoi... TLE...

sincer nu am habar cum ar putea fi mai rapid Neutral

idei? Very Happy
11  infoarena - concursuri, probleme, evaluator, articole / Unirea 2007 / Raspuns: evaluarea : Ianuarie 27, 2007, 15:29:34
Multumesc.
12  infoarena - concursuri, probleme, evaluator, articole / Unirea 2007 / evaluarea : Ianuarie 27, 2007, 15:11:43
Evaluarea problemelor se face dupa cele 3 ore?
13  infoarena - concursuri, probleme, evaluator, articole / Unirea 2007 / Raspuns: Chernel : Ianuarie 27, 2007, 14:17:06
numele fisierelor de intrare/iesire?

*scuze ma cam dor ochii Smile
14  Comunitate - feedback, proiecte si distractie / Arhiva / Nu imi recunoaste programele!!! : Mai 21, 2005, 14:37:32
Va rog sa-mi dati o idee in ce ar trebui sa fac... pe info-arena imi recunoaste programele in pascal dar nu si in c++.... idei?
Pagini: [1]
Powered by SMF 1.1.19 | SMF © 2006-2013, Simple Machines