Afişează mesaje
Pagini: [1] 2 3 ... 11
1  infoarena - concursuri, probleme, evaluator, articole / Teme / Răspuns: C++ : Noiembrie 17, 2015, 17:50:09
http://imageshack.com/a/img911/6057/UxHOwp.jpg

salut,
ce am gresit?
multumesc.

Ai declarat m de 2 ori, ca int si float.
2  infoarena - concursuri, probleme, evaluator, articole / Arhiva de probleme / Răspuns: 278 Swap : Octombrie 05, 2015, 12:44:21
LLE: Am luat 100 cu mergesort modificat, se descurca mult mai bine decat AIB-urile pentru aceasta problema.

Nu cred ca "se descurca mult mai bine". Eu am 100 cu 12ms cu AIB... Poate faci tu ceva aiurea sau iti intra in bucla infinita
3  Comunitate - feedback, proiecte si distractie / Feedback infoarena / Răspuns: CMMDC IN OUT : Iunie 11, 2014, 17:48:58
Trimiti doar fisierele sursa (.c, .cpp, sau .pas) nu si fisierele de in/out
4  Comunitate - feedback, proiecte si distractie / Off topic / Răspuns: Craciun Fericit! : Decembrie 26, 2013, 13:04:28
Craciun Fericit! Smile
5  infoarena - concursuri, probleme, evaluator, articole / Arhiva de probleme / Răspuns: 000 A+B : Noiembrie 02, 2013, 14:22:23
Ce e gresit in acest algoritm.
#include <iostream>
#include <fstream>
using namespace std;
int a,b,S;
int main()
{
    ifstream f ("adunare.in");
    ofstream r ("adunare.out");
    f>>a;
    f>>b;
    S = a+b;
    if (S<2000000000) r<<S<<'\n';
    f.close();
    r.close();
    return 1;
}

main trebuie sa returneze 0. Si scoate iful ala din cod
6  infoarena - concursuri, probleme, evaluator, articole / Informatica / Răspuns: numere pare : Octombrie 13, 2013, 17:19:47
dim si dim1 sunt declarate local si fiindca nu sunt initializate manual ele primesc valori random...
7  infoarena - concursuri, probleme, evaluator, articole / Informatica / Răspuns: Problema Stiva - C++ : Octombrie 01, 2013, 17:54:52
am inteles, multumesc foarte mult.Dar intr-un program(nu am gasit in cartea pe care o am eu).Eu setez numarul de elemente din stiva prin vf, dar varful stivei ? Adica ultimul numar ? Daca imi poti explica aceasta problema Very Happy
Elementul din varful stivei e S[vf]
8  infoarena - concursuri, probleme, evaluator, articole / Informatica / Răspuns: Problema Stiva - C++ : Octombrie 01, 2013, 15:51:26
Salut, am inceput sa studiez stivele, dar nu inteleg o chestie.In carte este explicat asa:

Inserarea unui element în stivă
Pentru a insera un element x în stiva S trebuie să verificăm în primul rând dacă
„avem loc”, deci dacă stiva nu este plină. Dacă stiva este plină, inserarea nu se
poate face, altfel vom mări vârful stivei şi vom plasa la vârf noul element.

Iar Codul:

#define DimMax 18 //numarul maxim de elemente din stiva
typedef int Stiva[DimMax];
//tipul Stiva implementat ca vector
Stiva S; //stiva
int vf; //varful stivei

if (vf == DimMax-1) //stiva este plina
 cout<<"Eroare - stiva este plina\n";
else //inseram elementul x in stiva S
 S[++vf] = x;

daca presupunem: x=3 si DimMax=18(Dimensiunea maxima a stivei).Nu pot intelege ce se intampla in if acolo ?
if(vf==DimMax-1)..verifica daca ultimul element al stivei este egal cu DimMax-1? Nu inteleg...ma puteti ajuta?
vf = numarul de elemente din stiva, deci verifica daca stiva e plina
9  infoarena - concursuri, probleme, evaluator, articole / Arhiva de probleme / Răspuns: 712 Albinuta : Octombrie 01, 2013, 15:28:50
Am incercat problema Albinuta . Am o problema cu algoritmul Floyd de detectie a ciclurilor intr.un sir.
am facut la fel ca pe wiki . Pe albinuta iau doar 15p.
intr-adevar da incorect.pe unul din testele oficiale sirul ar fi
Cod:
1 2 4 1 3 5 2 3 5 2 3 4 1 3 5 2 3 5 2 3 5 2 3 5 2 3 4 1 3 5 2 3 5 2 3 5 2 3 5 2 3 4 1 3 5 1 3 5 2 3 5 2 3 5 2 3 4 5 2 4 1 3 5 2 3 5 2 3 5 2 3 4 1 2 4 1 3 5 1 3 5 2 3 5 2 3 4 1 3 5 2 3 5 2 3 5 2 3 5 2 3 4 1 3 5 2 3 5 2 3 5 1 3 5 2 3 4 1 3 5 2 3 5 2 3 5 2 3 5 2 3 4 1 3 5 2 3 5 2 3 5 2 3 5 1 2 4 1 3 5 2 3 5 2 3 5 2 3 5 2 3 4 5 2 4 1 3 5 2 3 5 2 3 5 2 3 4 1 3 5 2 3 5 2 3 5 2 3 5 2 3 4 1 2 4 1 3 5 2 3 5 2 3 5 2 3 4 1 3 5 1 3 5 2 3 5 2 3 5 2 3 4 1 3 5 2 3 5 2 3 5 2 3 5 2 3 4 1 3 5 2 3 5 1 3 5 2 3 5 2 3 4 1 3 5 2 3 5 2 3 5 2 3 5 2 3 4 5 2 4 1 3 5 2 3 5 1 3 5 2 3 4 1 3 5 2 3 5 2 3 5 2 3 5 2 3 4 1 3 5 2 3 5 2 3 5 2 3 5 1 3 4 1 2 4 1 3 5 2 3 5 2 3 5 2 3 4 1 3 5 2 3 5 2 3 5 2 3 5 2 3 4 1 3 5 2 3 5 2 3 5 2 3 5 2 3 4 1 3 5 2 3 5 2 3 5 2 3 5 2 3 4 5 2 4 1 3 5 2 3 5 2 3 5 2 3 4 1 3 5 2 3 5 2 3 5 2 3 5 2 3 4 1 3 5 2 3 5 1 2 4 1 3 5 2 3 4 1 3 5 2 3 5 2 3 5 2 3 5 2 3 4 1 2 4 5 2 4 1 3 5 1 3 5 2 3 4 1 3 5 2 3 5 2 3 5 2 3 5 2 3 4 1 3 5 2 3 5 2 3 5 2 3 5 1 3 4 5 2 4 1 2 4 1 3 5 2 3 5 2 3 4 1 3 5 2 3 5 2 3 5 2 3 5 2 3 4 1 3 5 2 3 5 2 3 5 2 3 5 2 3 4 1 3 5 2 3 5 2 3 5 2 3 5 2 3 4 1 3 5 1 3 5 2 3 5 2 3 5 2 3 4 1 2 4 1 3 5 2 3 5 2 3 5 2 3 4 1 3 5 2 3 5 1 3 5 2 3 5 2 3 4 5 2 4 1 3 5 2 3 5 2 3 5 2 3 4 1 3 5 2 3 5 2 3 5 1 3 5 2 3 4 1 3 5 2 3 5 2 3 5 2 3 5 2 3 4 1 3 5 2 3 5 2 3 5 2 3 5 1 3 4 1 3 5 2 3 5 2 3 5 2 3 5 2 3 4 1 3 5 2 3 5 2 3 5 2 3 5 2 3 4 1 2 4 1 3 5 2 3 5 2 3 5 2 3 4 5 2 4 1 3 5 2 3 5 2 3 5 2 3 4 1 3 5 1 3 5 2 3 5 2 3 5 2 3 4 1 3 5 2 3 5 2 3 5 2 3 5 2 3 4 1 3 5 2 3 5 1 3 5 2 3 5 2 3 4 1 3 5 2 3 5 2 3 5 2 3 5 2 3 4 1 3 5 2 3 5 2 3 5 1 3 5 2 3 4 1 3 5 2 3 5 2 3 5 2 3 5 2 3 4 5 1 3 5 2 4 1 3 5 2 3 5 1 3 4 1 3 5 2 3 5 2 3 5 2 3 5 2 3 4 1 3 5 2 3 5 2 3 5 2 3 5 2 3 4 1 3 5 2 3 5 2 3 5 2 3 5 2 3 4 1 3 5 2 3 5 2 3 5 2 3 5 2 3 4 1 3 5 1 3 5 2 3 5 2 3 5 2 3 4 1 3 5 2 3 5 2 3 5 2 3 5 2 3 4 5 2 4 1 3 5 1 3 5 2 3 5 2 3 4 1 2 4 1 3 5 2 3 5 2 3 5 2 3 4 1 3 5 2 3 5 2 3 5 1 2 4 5 2 4 1 3 5 2 3 5 2 3 5 2 3 5 2 3 4 1 3 5 2 3 5 2 3 5 2 3 5 1 3 4 1 3 5 2 3 5 2 3 5 2 3 5 2 3 4 1 3 5 2 3 5 2 3 5 2 3 5 2 3 4 5 2 4 1 3 5 2 3 5 2 3 5 2 3 4 1 3 5 2 3 5 2 3 5 2 3 5 2 3 4 1 2 4 1 3 5 2 3 5 2 3 5 2 3 4 1 3 5 2 3 5 2 3 5 2 3 5 2 3 4 1 3 5 2 3 5 1 3 5 2 3 5 2 3 4 1 3 5 2 3 5 2 3 5 2 3 5 2 3 4 1 3 5 2 3 5 2 3 5 1 3 5 2 3 4 5 2 4 1 3 5 2 3 5 2 3 5 2 3 4 1 3 5 2 3 5 2 3 5 2 3 5 1 3 4 1 3 5 2 3 5 2 3 5 2 3 5 2 3 4 1 2 4 1 3 5 2 3 5 2 3 5 2 3 4 1 3 5 2 3 5 2 3 5 2 3 5 2 3 4 1 3 5 2 3 5 2 3 5 2 3 5 2 3 4 1 3 5 1 2 4 1 3 5 2 3 5 2 3 4 5 2 4 1 3 5 2 3 5 2 3 5 2 3 4 1 3 5 2 3 5 1 3 5 2 3 5 2 3 4 1 3 5 2 3 5 2 3 5 2 3 5 2 3 4 1 3 5 2 3 5 2 3 5 1 3 5 2 3 4 1 2 4 5 2 4 1 3 5 2 3 5 2 3 4 1 3 5 2 3 5 2 3 5 2 3 5 1 3 4 1 3 5 2 3 5 2 3 5 2 3 5 2 3 4 5 2 4 1 2 4 1 3 5 2 3 5 2 3 4 1 3 5 2 3 5 2 3 5 2 3 5 2 3 4 1 3 5 2 3 5 2 3 5 2 3 5 2 3 4 1 3 5 1 3 5 2 3 5 2 3 5 2 3 4 1 3 5 2 3 5 2 3 5 2 3 5 2 3 4 1 2 4 1 3 5 1 3 5 2 3 5 2 3 4 1 3 5 2 3 5 2 3 5 2 3 5 2 3 4 5 2 4 1 3 5 2 3 5 1 3 5 2 3 4 1 3 5 2 3 5 2 3 5 2 3 5 2 3 4 1 3 5 2 3 5 2 3 5 2 3 5 1 2 4 1 3 5 2 3 5 2 3 5 2 3 5 2 3 4 1 3 5 2 3 5 2 3 5 2 3 5 2 3 4 1 3 5 2 3 5 2 3 5 2 3 5 2 3 4 1 2 4 1 3 5 2 3 5 2 3 5 2 3 4 5 2 4 1 3 5 2 3 5 2 3 5 2 3 4 1 3 5 2 3 5 2 3 5 2 3 5 2 3 4 1 3 5 2 3 5 1 3 5 2 3 5 2 3 4 1 3 5 2 3 5 2 3 5 2 3 5 2 3 4 1 3 5 2 3 5 2 3 5 1 3 5 2 3 4 1 3 5 2 3 5 2 3 5 2 3 5 2 3 4 1 3 5 2 3 5 2 3 5 2 3 5 1 3 4 5 2 4 1 3 5 2 3 5 2 3 5 2 3 4 1 3 5 2 3 5 2 3 5 2 3 5 2 3 4 1 3 5 2 3 5 2 3 5 2 3 5 2 3 4 1 3 5 2 3 5 2 3 5 2 3 5 2 3 4 1 3 5 1 3 5 2 3 5 2 3 5 2 3 4 1 3 5 2 3 5 2 3 5 2 3 5 2 3 4 1 3 5 2 3 5 1 2 4 1 3 5 2 3 4 5 2 4 1 3 5 2 3 5 2 3 5 2 3 4 1 2 4 1 3 5 2 3 5 1 3 5 2 3 4 1 3 5 2 3 5 2 3 5 2 3 5 2 3 4 1 3 5 2 3 5 2 3 5 2 3 5 1 3 4 1 3 5 2 3 5 2 3 5 2 3 5 2 3 4 1 3 5 2 3 5 2 3 5 2 3 5 2 3 4 1 3 5 2 3 5 2 3 5 2 3 5 2 3 4 5 2 4 1 3 5 2 3 5 2 3 5 2 3 4 1 3 5 1 3 5 2 3 5 2 3 5 2 3 4 1 2 4 1 3 5 2 3 5 2 3 5 2 3 4 1 3 5 2 3 5 1 3 5 2 3 5 2 3 4 1 3 5 2 3 5 2 3 5 2 3 5 2 3 4 1 3 5 2 3 5 2 3 5 1 3 5 2 3 4 1 3 5 2 3 5 2 3 5 2 3 5 2 3 4 5 1 3 5 2 4 1 3 5 2 3 5 1 3 4 1 3 5 2 3 5 2 3 5 2 3 5 2 3 4 1 3 5 2 3 5 2 3 5 2 3 5 2 3 4 1 2 4 1 3 5 2 3
iar algoritmul meu imi returneaza miu=4 lambda=3 ceea ce este gresit...

Cod:


#define F(i) i+1

void find()
{
    tortoise = F(0);
    hare =F(F(0));
    while (x[tortoise] != x[hare])
    {
         tortoise = F(tortoise);
         hare = F(F(hare));
    }

}

void find_miu()
{
    miu=0;
    tortoise = 0;
    while (x[tortoise] != x[hare])
    {
        tortoise = F(tortoise);
        hare = F(hare);
        miu++;
    }

}

void find_lambda()
{
    lambda=1;
    hare = F(tortoise);
    while (x[tortoise] != x[hare])
    {
        hare = F(hare);
        lambda++;
    }
}


LE: ma poate ajuta cineva?Very Happy

M-am uitat pe ultima ta sursa si mi se pare ca tu consideri ca sirul de raspunsuri e ciclic... ceea ce nu e adevarat, ci mai exact graful in care nodurile sunt de forma (nod_graf_initial, timp % C) unde C = cmmc(L1, L2, ..., LK)  (adica cmmc-ul lungimilor listelor de adiacenta)
10  infoarena - concursuri, probleme, evaluator, articole / Informatica / Răspuns: eliminare cifra de mijloc : Iunie 23, 2013, 21:05:27
Va salut !
Se citeste un numar natural strict mai mare decat 9 avand numar impar de cifre.
Sa se afiseze numarul obtinut prin eliminarea cifrei de mijloc a numarului initial.
Exemplu:
nr initial: 12345
nr final: 1245
Problema ruleaza pentru numere cu 3 cifre dar pentru numere cu 5,7,9 sau mai multe cifre nu ruleaza.
Astept sugestii la urmatoarea problema (vezi atasament)


Uite parte din cod corectat:

Cod:
 if(cnt%2!=0)
    {
        cnt /= 2;

        z=pow(10,(cnt+1));
        var1=m/z;
        x=pow(10,(cnt));
        var2=m%x;
        y=var1*x+var2;
        cout<<"\n "<<y<<endl;
    }

Totusi eu as fi facut altfel: citit numarul ca string si afisat cifrele, exceptand cea din mijloc
11  Comunitate - feedback, proiecte si distractie / Blog / Răspuns: Code Pandas : Martie 28, 2013, 13:53:20
Concursul e de nivelul liceului sau am o sansa si daca sunt doar la gimnaziu? Very Happy

Concursul e pentru studenti (Universitate).
12  infoarena - concursuri, probleme, evaluator, articole / Articole / Răspuns: Multe "smenuri" de programare in C/C++... si nu numai! : Februarie 07, 2013, 14:19:05
mersi.
totusi mai am o intrebare daca am o matrice de ex A [ i ][ j ] (fac problema rucsac sa zicem)
 j-ul poate da negativ in acest caz cum fac defineul?
cred ca
#define A (A+100) nu functioneaza.mersi anticipat

Ai putea face asa:

Cod:
#include <cstdio>

int a[100][200];

#define a(i, j) a[i][j + 100]

int main() {
    a(10, -12) = 15;
    printf ("%d\n", a(10, -12));
}
13  infoarena - concursuri, probleme, evaluator, articole / Arhiva Infoarena Monthly / Răspuns: 010 Distincte2 : Septembrie 09, 2012, 20:44:54
P.S.: ca sa vezi daca nu cumva ai un element care deja s-a bagat, iti sugerez sa folosesti ori set (bagi elementul in set, si daca deja exista, nu mai il baga inca odata), ori sa folosesti un map (de ce? pentru ca nu are rost sa declari un vector de 1 000 000 000, cand tu ai maxim 100 000 elemente, pe care map-ul ti le pune astfel in memorie incat sa nu ai probleme). Succes Smile

Unde vezi tu 1.000.000.000 in enuntul problemei? eu vad 1.000.000
14  infoarena - concursuri, probleme, evaluator, articole / Arhiva Infoarena Monthly / Răspuns: 010 Distincte2 : Septembrie 09, 2012, 09:09:19
Memoria disponibila la problema distincte2 este foarte mica si programul elaborat de mine o depaseste. Brick wall Fighting
Eu la sursa mea am economisit cata memorie am putut dar tot nu merge Read This!
Sursa mea este: Thumb down

using namespace std;
#include<stdio.h>
int i,n,mm,m,v[100001],a,q,l,x,y;
int main()
{
   freopen("distincte2.in","r",stdin);
   freopen("distincte2.out","w",stdout);
   scanf("%d%d",&n,&mm);
   for(i=1;i<=n;i++)
   {
      scanf("%d",&a);
      v[a]=1;
      if(m<a)m=a;
   }
   for(l=1;l<=mm;l++)
   {
      q=0;
      scanf("%d%d",&x,&y);
      for(i=1;i<=m;i++)
      {
         if(v[ i ]>0)
         {
            if(i>=x&&i<=y)q++;
         }
      }
      printf("%d\n",q);
   }
   return 0;
}


Ma puteti ajuta sa o fac mai eficienta????Sa mai economisesc memorie! Think
Multumesc! Very Happy

Tu folosesti ~400 KB memorie iar limita e de 16MB, deci iti intra sigur in memorie.

Din cate vad, tu la citire faci v[a] = 1; unde 1 <= a <= 1.000.000 iar tu ai declarat vectorul de 100.000
In plus, daca vectorul v va tine doar valori 1 si 0, nu are sens sa-l declari int, pune-l char.

La alt 2lea for nu trebuia sa mergi de la x la y ?

In plus, nu te astepta la punctaj maxim, asta e o solutie triviala.
15  infoarena - concursuri, probleme, evaluator, articole / Arhiva educationala / Răspuns: 007 Arbori de intervale : Iunie 13, 2012, 23:56:42
Intr-o sursa in care vrei sa explici ceva, nu inteleg de ce ai scrie chestii gen "p^=q^=p^=q" sau sa inlocuiesti "/2" cu ">>1". Ar trebui sa o faci cat mai clara, in stil Python. Parerea mea...
Sursa, precum si siteul, le.am facut prin 2008 si nu le.am revizuit de atunci. In plus asta e ceva mai avansat de aint si consider ca cineva care a ajuns sa invete asta ar trebui sa stie operatii pe biti. Sursa unde prezint aint normal nu foloseste operatiile pe biti.
16  infoarena - concursuri, probleme, evaluator, articole / Arhiva educationala / Răspuns: 007 Arbori de intervale : Iunie 13, 2012, 13:49:22
Cum pot face update sa incrementez valorile dintr-un interval [x,y] ? Daca cobor pana in frunze si updatez fiecare interval de lungime 1 presupun ca este ineficient.

Trebuie sa folosesti tehnica "lazy update/delete".
In fiecare nod al arborelui trebuie sa mentii 3 valori:
Full[nod] = true daca tot intervalul corespunzator nodului are aceeasi valoare, false altfel
V[nod] = valoarea in cazul in care Full[nod] == true
Sum[nod] = suma pe interval

In plus, cand faci update, trebuie sa pasezi informatiile la fii inainte sa apelezi recursiv.

Uite aici o sursa
http://hickery.net/info/aint2.html
17  Comunitate - feedback, proiecte si distractie / Blog / Răspuns: Mihai : Iunie 07, 2012, 00:58:46
Odihneasca-se in pace! Sad
18  Comunitate - feedback, proiecte si distractie / Off topic / Răspuns: ACM ICPC 2012 : Mai 14, 2012, 13:22:22
Succes!  Winner 1st place
19  infoarena - concursuri, probleme, evaluator, articole / FMI No Stress 2012 / Răspuns: Potrivire : Mai 11, 2012, 23:59:32
Esti sigur?  Eu cred ca iese O(30 * O(n + m)),
iar 30 nu e constanta... e numarul de *

Merge in O(N + M) cu KMP indiferent de numarul de stelute.


Wef, tu ai bagat un singur KMP ? sigur ai O(N + M) ? Eu cred ca O(N + M) merge doar cand bagi Aho Corasik
peste sirurile dintre stelute...
20  infoarena - concursuri, probleme, evaluator, articole / FMI No Stress 2012 / Răspuns: Potrivire : Mai 11, 2012, 23:57:08
Atunci eu faceam KMP de 30 de ori... calculam prefixul pt fiecare portiune dintre stelute si apoi mergeam de 30 de ori pe primul sir.
Deci la mine chiar e O(30 * (N + M)). Daca voi faceti altfel...
21  infoarena - concursuri, probleme, evaluator, articole / FMI No Stress 2012 / Răspuns: Potrivire : Mai 11, 2012, 22:52:30
Esti sigur?  Eu cred ca iese O(30 * O(n + m)),
iar 30 nu e constanta... e numarul de *
22  infoarena - concursuri, probleme, evaluator, articole / FMI No Stress 2012 / Răspuns: Potrivire : Mai 11, 2012, 22:23:12
Un singur KMP ? sau vreo 30?
23  infoarena - concursuri, probleme, evaluator, articole / FMI No Stress 2012 / Răspuns: Potrivire : Mai 11, 2012, 22:08:26
Cred ca mergea in O(n + m) cu Aho Corasik... Era mai interesant daca erau limitele mai mari Smile
24  infoarena - concursuri, probleme, evaluator, articole / Informatica / Răspuns: fisier de 50 GB cum se prelucreaza cu pascal ??? : Mai 02, 2012, 11:30:22
Nu FPC ti-a bulit codul... tu probabil ai scris cod nestandard...
in fine... nu stiu ce sa-ti zic... ideea ar fi ca cineva care lucreaza pe FPC
sa se uite peste codul tau...
25  infoarena - concursuri, probleme, evaluator, articole / Informatica / Răspuns: fisier de 50 GB cum se prelucreaza cu pascal ??? : Mai 02, 2012, 10:46:15
Tu ti-ai testat codul pe un fisier mic ca sa vezi daca e din cauza ca e fisierul foarte mare?
Poate ai vreun bug in cod...
Eu nu stiu Pascal, deci nu te pot ajuta.
Pagini: [1] 2 3 ... 11
Powered by SMF 1.1.19 | SMF © 2006-2013, Simple Machines