Afişează mesaje
|
Pagini: [1]
|
2
|
infoarena - concursuri, probleme, evaluator, articole / Informatica / BACKTRACKING
|
: Februarie 03, 2013, 09:16:43
|
Salut!  M-am uitat peste tot si nu am gasit si eu un algoritm usor pentru backtracking. :readthis:Nu am nevoie de algoritmi lungi,eficienti sau complicati. :-kAs vrea doar urmatorii algoritmi in C++:  1.BACKTRACKING->generarea tuturor permutarilor unei multimi(in ordine lexicografica daca se poate) 2.BACKTRACKING->generarea tuturor multimilor formate din numerele 0 si 1 de n elemente 3.BACKTRACKING->combinatii de n luate cate k Va multumesc anticipat! 
|
|
|
5
|
Comunitate - feedback, proiecte si distractie / Feedback infoarena / INTERVALE 2-nu inteleg de ce nu imi da 40 p si imi da 0
|
: Septembrie 10, 2012, 10:17:14
|
Am facut un program mai ineficient la problema intervale2 din arhiva monthly dar nu inteleg ce are  .....imi scrie punctaj per test 10 la 4 din teste si in mod normal ar trebui sa iau 40 de puncte  dar eu iau 0!  De ce?  Intrati si pe http://infoarena.ro/job_detail/785959 pentru a vedea borderoul de evaluare. Si sursa mea este urmatoarea: using namespace std; #include<stdio.h> int n,a[100001],p,i,j,k; int main() { freopen("intervale2.in","r",stdin); freopen("intervale2.out","w",stdout); scanf("%d",&n); for(i=1;i<=n;i++) { scanf("%d",&a[i]); } for(i=1;i<=n;i++) { k=0; scanf("%d",&p); for(j=p;j<=i;j++) { if(a[j]>a[i])k++; } printf("%d ",k); } printf("\n"); return 0; } Multumesc anticipat! Editat de admin: 1. Intrebarile legate de o problema se posteaza in topicul problemei 2. Cand postezi cod / fragmente de cod pe forum trebuie sa folosesti tag-ul code
|
|
|
6
|
infoarena - concursuri, probleme, evaluator, articole / Arhiva Infoarena Monthly / Răspuns: 010 Distincte2
|
: Septembrie 09, 2012, 07:02:09
|
Memoria disponibila la problema distincte2 este foarte mica si programul elaborat de mine o depaseste.  Eu la sursa mea am economisit cata memorie am putut dar tot nu merge  Sursa mea este:  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!  Multumesc! Editat de admin: De acum incolo, posteaza in topicul problemei (http://infoarena.ro/forum/index.php?topic=7803.0)
|
|
|
|