Pagini: [1]   În jos
  Imprimă  
Ajutor Subiect: 443 Jetoane  (Citit de 3434 ori)
0 Utilizatori şi 1 Vizitator pe acest subiect.
filipb
Nu mai tace
*****

Karma: 232
Deconectat Deconectat

Mesaje: 929



Vezi Profilul
« : Iunie 01, 2007, 15:35:39 »

Aici puteţi discuta despre problema Jetoane.
Memorat
Florian
Nu mai tace
*****

Karma: 125
Deconectat Deconectat

Mesaje: 832



Vezi Profilul
« Răspunde #1 : Iunie 01, 2007, 16:58:33 »

Mh...am trimis 2 surse in care am abordat idei diferite...cu ambele iau 90...nu cer decat sa ma lamuriti daca testul 2 este corect sau daca greseala este a mea, ori daca a luat cineva 100. Apropo, cred ca ar trebui micsorata limita de timp la 0.1 secunde... Whistle
Memorat
Tabara
Nu mai tace
*****

Karma: 20
Deconectat Deconectat

Mesaje: 216



Vezi Profilul
« Răspunde #2 : Iunie 01, 2007, 17:39:48 »

Mh...am trimis 2 surse in care am abordat idei diferite...cu ambele iau 90...nu cer decat sa ma lamuriti daca testul 2 este corect sau daca greseala este a mea, ori daca a luat cineva 100. Apropo, cred ca ar trebui micsorata limita de timp la 0.1 secunde... Whistle
Ai o greseala undeva in program!  Think
Am luat 100, deci nu cred ca e gresit testul 2.
 Thumb up
Memorat
Florian
Nu mai tace
*****

Karma: 125
Deconectat Deconectat

Mesaje: 832



Vezi Profilul
« Răspunde #3 : Iunie 01, 2007, 18:37:56 »

Asta voiam sa stiu. Multumesc!  Thumb up
Memorat
jupanu92
Client obisnuit
**

Karma: -86
Deconectat Deconectat

Mesaje: 76



Vezi Profilul
« Răspunde #4 : Martie 31, 2008, 18:20:44 »

Ce pr usoar mam mirat ca am luat din prima 100 de p dar dupaia cand am vazut ca e de cls a 7 a mam lamurit de ce am luat atat  Dancing
Memorat
cos_min
Nu mai tace
*****

Karma: 48
Deconectat Deconectat

Mesaje: 493


live


Vezi Profilul
« Răspunde #5 : Martie 31, 2008, 19:26:56 »

Ce pr usoar mam mirat ca am luat din prima 100 de p dar dupaia cand am vazut ca e de cls a 7 a mam lamurit de ce am luat atat  Dancing

Forumul este special pentru intrebari, nu pentru impresii personale asupra problemelor...(ce ar fi daca toti ne-am exprima impresiile despre fiecare problema?)
Memorat

vid...
jupanu92
Client obisnuit
**

Karma: -86
Deconectat Deconectat

Mesaje: 76



Vezi Profilul
« Răspunde #6 : Martie 31, 2008, 21:03:48 »

Nu m-as supara daca si-ar impartasii fiecare impresia despre o problema ... eram si eu bucuros ca mia iesit din prima 100   Har har
Memorat
wefgef
Nu mai tace
*****

Karma: 1049
Deconectat Deconectat

Mesaje: 3.008


razboinicu' luminii


Vezi Profilul
« Răspunde #7 : Martie 31, 2008, 21:18:24 »

No offence, nu cred ca ne pasa Smile.
Memorat

omului i-au fost date instinctele pentru a supravietui, nu pentru a fi sclavul lor.
Tabara
Nu mai tace
*****

Karma: 20
Deconectat Deconectat

Mesaje: 216



Vezi Profilul
« Răspunde #8 : Martie 31, 2008, 23:18:59 »

Nu m-as supara daca si-ar impartasii fiecare impresia despre o problema ... eram si eu bucuros ca mia iesit din prima 100   Har har

Daca mai faci vreo 4-5 care crezi ca iti plac in mod deosebit iti poti exprima parerea asupra lor intr-un singur post aici.
Memorat
shnako
Client obisnuit
**

Karma: 3
Deconectat Deconectat

Mesaje: 50



Vezi Profilul
« Răspunde #9 : Ianuarie 19, 2009, 23:19:57 »

Are careva vreo idee cum pot face programul asta sa mearga mai rapid? Ca iau TLE pe 3 teste. Mersi.
P.S.: Voi scoate sursa cand voi primi un raspuns bun. Daca am incalcat cu ceva regulamentul rog adminii sa o scoata.
Cod:
#include <fstream.h>  
#include <time.h>   
ifstream f("jetoane.in"); 
ofstream g("jetoane.out");   
unsigned int a[28001], b[28001], i, j, ii, jj, aux, n, min=0, max, s1, s2, m;   
int poz (int ls, int ld)   
    { 
    i=ls;   
    j=ld;   
    ii=0;   
    jj=-1; 
    while (i<j)   
        {   
        if (a[i]>a[j])   
            { 
            aux=a[i];   
            a[i]=a[j];   
            a[j]=aux;   
            aux=-ii; 
            ii=-jj;   
            jj=aux;   
         }   
        i+=ii; 
        j+=jj;   
        }   
    return i;   
    } 
void qsort(int ls, int ld)   
    {   
    int p;   
    if (ls<ld) 
        {   
        p=poz(ls,ld);   
        qsort (ls, p-1);   
        qsort (p+1, ld); 
        }   
    }   
int pozl (int ls, int ld)   
    { 
    i=ls;   
    j=ld;   
    ii=0;   
    jj=-1; 
    while (i<j)   
        {   
        if (b[i]>b[j])   
            { 
            aux=b[i];   
            b[i]=b[j];   
            b[j]=aux;   
            aux=-ii; 
            ii=-jj;   
            jj=aux;   
         }   
        i+=ii; 
        j+=jj;   
        }   
    return i;   
    } 
void qsortl(int ls, int ld)   
    {   
    int p;   
    if (ls<ld) 
        {   
        p=pozl(ls,ld);   
        qsortl (ls, p-1);   
        qsortl (p+1, ld);   
        }   
    }   
int main(void)   
    {   
    f>>m>>n;   
    for (i=1;i<=m;i++)   
        f>>a[i];   
    for (i=1;i<=n;i++)   
        f>>b[i];   
    qsort (1,m); 
   qsortl (1,n);                                   //citiri si sortari de siruri.   
   for (i=1;i<=m;i++) 
    {   
    for (j=1;a[i]>=b[j];j++) 
        if (a[i]==b[j])   
            { 
                min=a[i]; 
            break; 
            } 
      if (min)                                     //aflarea minimului 
        break; 
      } 
   for (i=m;i>0;i--) 
    { 
    for (j=n;a[i]<=b[j];j--) 
        if (a[i]==b[j])   
            {   
                max=a[i];   
            break;   
            } 
      if (max)                                      //aflarea maximului 
        break; 
      }   
    for (i=1;a[i]<min;i++) 
    s1++;   
   for (i=1;b[i]<min;i++)   
    s2++;   
   for (i=m;a[i]>max;i--)   
    s1++;   
   for (i=n;b[i]>max;i--)   
    s2++;   
   g<<min<<" "<<max<<" ";   
   if (s1==s2) 
    g<<0;   
   else   
    if (s1>s2)   
        g<<1;   
      else   
        g<<2; 
    f.close();   
   g.close();   
    return 0;   
    } 

Memorat
gabor_oliviu1991
Nu mai tace
*****

Karma: 28
Deconectat Deconectat

Mesaje: 200



Vezi Profilul
« Răspunde #10 : Ianuarie 19, 2009, 23:37:46 »

ma tem ca nu poti implementa ideea ta pt 100. si eu aveam aproximativ aceasi idee ca tine. cel putin eu nu puteam sa scap de 3 TLE-uri. parerea mea sa te gandesti la alta rezolvare
Memorat
shnako
Client obisnuit
**

Karma: 3
Deconectat Deconectat

Mesaje: 50



Vezi Profilul
« Răspunde #11 : Ianuarie 27, 2009, 09:42:30 »

Merge ideea asta, dar cu MergeSort in loc de QuickSort. Winner 1st place
Memorat
gabor_oliviu1991
Nu mai tace
*****

Karma: 28
Deconectat Deconectat

Mesaje: 200



Vezi Profilul
« Răspunde #12 : Ianuarie 27, 2009, 12:29:41 »

hehe...merci, am implementat si eu cu merge sort si am scos 100. dar de ce nu ai intrat si quickul totusi?
Memorat
c_e_manu
Nu mai tace
*****

Karma: 56
Deconectat Deconectat

Mesaje: 243



Vezi Profilul
« Răspunde #13 : Ianuarie 27, 2009, 17:13:45 »

simplu... pe numere sortate/aproape sortate cu quicksortul simplu ai O(n^2)... mergesort e constant O(n logn)... mey oliviu, nu ai invatat la scoala  Whistle.. ce 2 iti da profa  Rolling on the Floor Laughing
Memorat
Bit_Master
Vorbaret
****

Karma: -49
Deconectat Deconectat

Mesaje: 159



Vezi Profilul
« Răspunde #14 : August 24, 2010, 15:28:48 »

Am si eu o intrebare?
E gresit conceptul urmator pt a lua numerele comune a doi vectori?

Cod:
- ii sortezi
- pornesti cu doi indici, cate unul pe fiecare vector incepand de la pozitia 1

- cat timp indicii nu sunt in afara vectorilor
{
   - compari valorile indicate de vectori sa vezi daca sunt comune
   - avansezi cu cel care indica o valoare mai mica
}

Iei 40 puncte asa.
« Ultima modificare: August 24, 2010, 15:42:40 de către Alexandru Caragicu » Memorat
Vali_Deaconu
Strain


Karma: 0
Deconectat Deconectat

Mesaje: 4



Vezi Profilul
« Răspunde #15 : Februarie 07, 2015, 17:27:24 »

Eu am făcut-o cu frecvență în O(n) și am luat 100p. Nu vă mai complicați cu MergeSort.  Whistle
Memorat
Pagini: [1]   În sus
  Imprimă  
 
Schimbă forumul:  

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