Afişează mesaje
Pagini: [1]
1  infoarena - concursuri, probleme, evaluator, articole / Concursuri / Răspuns: ONI Liceu 2010 : Martie 22, 2010, 17:06:10
si la a X-a ce-ar trebui stiut bine?
2  infoarena - concursuri, probleme, evaluator, articole / Arhiva de probleme / Răspuns: 951 Vrejuri : Martie 19, 2010, 20:58:23
m-am uitat pe solutia oficiala a problemei, am intels ideea, mai putin faza "Pentru aceasta putem cauta binar xi-ul maxim pe care il taiem" . mai exact? xi ia valori de la 1 la Hi+k*Pi ?
3  infoarena - concursuri, probleme, evaluator, articole / Arhiva de probleme / Răspuns: 357 Editor : Martie 08, 2010, 14:49:03
E-uri se pot afla si prin sir sau doar la sfarsit ?
4  infoarena - concursuri, probleme, evaluator, articole / Informatica / Răspuns: ZigZag Topcoder : Februarie 18, 2010, 16:45:01
Problema se poate rezolva mult mai usor decat cum ai facut-o. Retine in dif[ i ] diferetna dintre v[ i ]-v[i-1]. Restul ar trebuie sa fie evident Smile
da acum iese, mersi
5  infoarena - concursuri, probleme, evaluator, articole / Informatica / Răspuns: ZigZag Topcoder : Februarie 17, 2010, 21:10:13
afisul. nu afiseaza nimic
6  infoarena - concursuri, probleme, evaluator, articole / Informatica / Răspuns: ZigZag Topcoder : Februarie 17, 2010, 18:24:03
Nu fac problema sa o trimit la topcoder.. am pus ca si cum mi s-ar fi dat in fisier si fac eu niste teste..
^^ la fel, nu merge..
are altcineva vreo idee? sau o alta idee de rezolvare
7  infoarena - concursuri, probleme, evaluator, articole / Informatica / ZigZag Topcoder : Februarie 17, 2010, 14:21:19
Am luat problema ZigZag de pe topcoder, http://www.topcoder.com/stat?c=problem_statement&pm=1259&rd=4493 , am facut (bine, zic eu) algoritmul dar nu merge bine afisarea.

Cod:
#include <fstream>
#define k 300

using namespace std;

int l[k], a[k], p[k], n, lmax, val=-1;
// p[i] = valoarea precedenta de a[i]

ifstream f("sec.in");
ofstream g("sec.out");

int sc(int a, int b)
{
if(b-a>0) return 0;
return 1;
}
// sc returneaza 0 sau 1, in functie de diferenta (pozitiva sau negativa)

int afis(int poz)
{   
if(poz==1) return 0;
if(!lmax)
{ if(val!=-1)
while(l[poz] != lmax || ( sc(p[poz], a[poz]) == sc(a[poz], a[val]) )) poz--;
g << a[poz] << " ";
lmax--;
val = poz;
afis(poz-1);
}
}
//afisul, care afiseaza dupa pozitie

int main()
{
int i, j, x, y, poz;
f >> n;
for(i=1; i<=n; i++) f >> a[i];
l[1] = 1;
l[2] = 2;
p[1] = 0;
p[2] = a[1];
for(i=3; i<=n; i++)
{ l[i] = 1;
for(j=1; j<i; j++)
{   
x = sc(a[j], a[i]);
        y = sc(p[j], a[j]);
if(l[j]+1>l[i] && x!=y)
{ l[i] = l[j]+1;
p[i] = a[j];
if(lmax<l[i]) lmax=l[i], poz=i;
}
}
}
//afisarea
afis(poz);
f.close();
g.close();
return 0;
}

ma poate ajuta cineva cu o idee ceva la afis? nu inteleg de ce nu merge... algoritmul zic ca ii bun
8  infoarena - concursuri, probleme, evaluator, articole / Algoritmiada 2010 / Răspuns: Vrejuri : Noiembrie 22, 2009, 09:27:59
Citisem prost enuntul.
Deci am primu vrej cu 1 si al doilea cu 2. tai din primu vrej 1 si din al doilea 4 in prima zi, dupa care a doua zi tai 1 din primul si 2 din al doilea. deci 1^2 + 4^2 + 1^2 + 2^2 = 2+16+2+4 = 24
De unde apare 18?
9  infoarena - concursuri, probleme, evaluator, articole / Algoritmiada 2010 / Răspuns: Vrejuri : Noiembrie 22, 2009, 09:20:45
Vrejul creste in prima zi cu X, iar dupa asta tai din el fix X, a doua zi el va creste cu X+1?
10  infoarena - concursuri, probleme, evaluator, articole / Algoritmiada 2010 / Răspuns: Vrejuri : Noiembrie 22, 2009, 09:17:22
Dupa ce tai dintr-un vrej valoarea lui, dupa ce va creste, va fi inaltimea vrejului egala cu rata cresterii + 1?
11  infoarena - concursuri, probleme, evaluator, articole / Informatica / explicare cod : Octombrie 04, 2009, 12:39:23
Imi poate explica cineva pe rand secventele din while?

Cod:
#include<iostream>
#include<string.h>
#include<conio.h>
using namespace std;
char S[250], s2[250], s[250], s1[250];
int u, i, p;
int main()
{
    cin.getline(s,100);
    cin.getline(s1,100);
    cin.getline(s2,100);
    do
    {
        char * pt=strstr(s, s1);
        if(!pt)
        {   for(i=u;i<strlen(s);i++)
                strncat(S,s+i,1);
                break;
        }
        p=pt-s;
        for(i=u;i<p;i++) S[i]=s[i];
       
        for(i=p;i<p+strlen(s1);i++)
            s[i]='!';
       
        for(i=p;i<p+strlen(s2);i++)
            strncat(S,s2+i-p,1);
       
        u=p+strlen(s1);
   
    }
    while(1);
    cout<<S;
    getch();
    return 0;
}

l-am scris ordonat sa se inteleaga. de exemplu la strncat(S,s+i,1); copie pe rand cate-un caracter din s in S sau cum?
12  infoarena - concursuri, probleme, evaluator, articole / Arhiva de probleme / Răspuns: 003 Fractii : Octombrie 01, 2009, 18:23:34
Cod:
long N,i,x,nr;
long eratostene() {
long nr;
nr=N;
for(x=2; x*i<N; x++)
nr--;
return nr;
}

si eu sunt la inceput, sper sa nu gresesc ce zic dar:
ai declarat i global, si in for ai conditia x*i<N ... care ii mereu adevarata daca N>0
nu stiu cum iti iese pe numere mici.
zic eu ca mai intai ar trebui sa inveti baza (notiuni elementare) si pe urma sa treci la probleme.
13  infoarena - concursuri, probleme, evaluator, articole / Arhiva de probleme / Răspuns: 003 Fractii : Septembrie 30, 2009, 15:51:42
modificasem inainte programul si aveam niste erori, l-am facut iar si merge si scot 30 pct. acum incerc cu ciurul lui eratostene
14  infoarena - concursuri, probleme, evaluator, articole / Arhiva de probleme / Răspuns: 003 Fractii : Septembrie 30, 2009, 13:33:05
ah, scuze. credeam ca fara ++d, acum am vazut ca l-ai pus in afara ifului.
asa merge dar nu da pentru toate, merge pe 3,4 si inca, cateva mici, dar pe altele da prost. de ex pentru 31, imi da 647... ii ceva in neregula cu functia ? si la un milion imi iese din timp ...
15  infoarena - concursuri, probleme, evaluator, articole / Arhiva de probleme / Răspuns: 003 Fractii : Septembrie 29, 2009, 20:46:55
asa nu mai merge. nu scrie nimic in fisier, se si blocheaza sau dureaza mult timp executia ...
16  infoarena - concursuri, probleme, evaluator, articole / Arhiva de probleme / Răspuns: 003 Fractii : Septembrie 29, 2009, 20:15:18
Am si eu o intrebare referitor la o sursa, inca nu am trimis-o dar o probez pe niste exemple si nu imi da bine. nu prea stiu regulile, daca pot sau nu sa postez o sursa ...

am folosit indicatorul lui euler, o functie numita fi:
Cod:
while(n>1)
       if(n%d==0)
       {  pr=pr*((d-1)/d);
          while(n%d==0) n/=d;
       }
       else d++;

si returneaza pr, pr ii initializat cu N.

si in int main() am:
Cod:
v[1]=1;
  for(i=2;i<=n;i++)
    v[i]=v[i-1]+2*fi(i);
si afisez v[n].
ce nu este corect? solutia nu este in v[n] ?
17  infoarena - concursuri, probleme, evaluator, articole / Arhiva educationala / Răspuns: 001 Cel mai lung subsir comun : Septembrie 28, 2009, 15:42:12
Am o intrebare. Am facut pe pasi vectorii si matricea la sursa de 100 pe hartie, si la un moment-dat la penultimul for din toate ajung la i=1, j=0, a[1]!=b[0] si la iful d[0][0]<d[1][-1]

ii posibil sa fie -1 ? adica valoarea ii tot 0 ? nu am mai intalnit -1 pana acum.
sper ca ati inteles ce-am vrut sa zic Smile
Pagini: [1]
Powered by SMF 1.1.19 | SMF © 2006-2013, Simple Machines