Pagini: [1]   În jos
  Imprimă  
Ajutor Subiect: 967 Char  (Citit de 2624 ori)
0 Utilizatori şi 1 Vizitator pe acest subiect.
stef2n
Nu mai tace
*****

Karma: 218
Deconectat Deconectat

Mesaje: 641



Vezi Profilul
« : Februarie 05, 2010, 20:30:44 »

Aici puteti discuta despre problema Char.
Memorat

Exista 10 categorii de oameni: cei care inteleg sistemul binar si cei care nu il inteleg.
myshu
Strain


Karma: 0
Deconectat Deconectat

Mesaje: 9



Vezi Profilul
« Răspunde #1 : Februarie 13, 2010, 20:40:23 »

Deci exercitiul asta e prea ciudat. Daca afisezi 3 iei 50pct; daca afisezi 2 iei 50 pct(pe aceleasi teste) Read This!
Memorat
mordred
Client obisnuit
**

Karma: -39
Deconectat Deconectat

Mesaje: 51



Vezi Profilul
« Răspunde #2 : Februarie 15, 2010, 01:10:17 »

Deci e bătaie de joc. Sursa mea este okay şi totuşi ia seg fault de la input prost (am verificat. de multe ori!)
Ce îmi răspunde uploaderul cu nonşalanţă?

Citat
Buna.

Primesti segmentation fault cand faci stack overflow sau ceva de genul asta, cand intervine o eroare majora care opreste programul automat. Ai putea sa incerci sa faci debug pe testele oficiale sau sa te uiti pe solutia oficiala (cauta pe net).

Din pacate nu prea am timp sa ma uit pe cod acum ...

Deci primesc segmentation fault când fac stack overflow şi când intervine o eroare majoră care opreşte programul automat. Trecând peste explicaţia pueril-inexactă, răspunsul e ceva de genul te uzi pentru că plouă când eu întreb unde e gaura în acoperiş.

Way to go!  Thumb up

---

Job: http://infoarena.ro/job_detail/396369
Memorat
wefgef
Nu mai tace
*****

Karma: 1049
Deconectat Deconectat

Mesaje: 3.008


razboinicu' luminii


Vezi Profilul
« Răspunde #3 : Februarie 15, 2010, 02:25:21 »

Deci e bătaie de joc. Sursa mea este okay şi totuşi ia seg fault de la input prost (am verificat. de multe ori!)
Ce îmi răspunde uploaderul cu nonşalanţă?

Citat
Buna.

Primesti segmentation fault cand faci stack overflow sau ceva de genul asta, cand intervine o eroare majora care opreste programul automat. Ai putea sa incerci sa faci debug pe testele oficiale sau sa te uiti pe solutia oficiala (cauta pe net).

Din pacate nu prea am timp sa ma uit pe cod acum ...

Deci primesc segmentation fault când fac stack overflow şi când intervine o eroare majoră care opreşte programul automat. Trecând peste explicaţia pueril-inexactă, răspunsul e ceva de genul te uzi pentru că plouă când eu întreb unde e gaura în acoperiş.

Way to go!  Thumb up

---

Job: http://infoarena.ro/job_detail/396369

Bataie de joc e felul in care citesti tu datele de intrare!

Cod:
 int n, i, aux, j;
 char ch;

 // input
 scanf( "%d", &n );
 
 for( i = 1; i <= n; ++i )
    {
     scanf(" %c", &ch );
     aparitii[ch - 'a' + 1] += 1;
     text[i] = ch - 'a' + 1;
    }
 scanf( "%d", &aux );

Pana la urma raspunsul e ca nu esti destul de competent incat sa cunosti modul de apelare al functiei scanf().
Memorat

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

Karma: 218
Deconectat Deconectat

Mesaje: 641



Vezi Profilul
« Răspunde #4 : Februarie 15, 2010, 02:28:03 »

@myshu: Am rezolvat acum si am reevaluat.
« Ultima modificare: Februarie 15, 2010, 03:10:08 de către Stefan Istrate » Memorat

Exista 10 categorii de oameni: cei care inteleg sistemul binar si cei care nu il inteleg.
mordred
Client obisnuit
**

Karma: -39
Deconectat Deconectat

Mesaje: 51



Vezi Profilul
« Răspunde #5 : Februarie 15, 2010, 12:36:43 »

Am rezolvat, în sfârşit. Este extrem de neplăcut să stai să încerci să-ţi dai seama unde este diferenţa între comportamentul compilatoarelor, când la unul dintre ele nu ai acces decât indirect şi sursa ta rulează fără probleme pe al tău.
Am citit ca string şi a mers.

Mulţumesc, Andrei, pentru cel mai competent răspuns. ( varianta ta nu mergea, dar diferenţa o făcea, într-adevăr, scanf-ul )
Memorat
wefgef
Nu mai tace
*****

Karma: 1049
Deconectat Deconectat

Mesaje: 3.008


razboinicu' luminii


Vezi Profilul
« Răspunde #6 : Februarie 15, 2010, 12:57:39 »

Si sursa asta cum de ia WA, nu KBS? Folosesc sursa ta, cu citirea modificata ca mai sus.

In primul rand, este imposibil pentru cineva sa iti spuna de ce iei KBS fara sa se uite in sursa ta - lucru pe care nu e nimeni obligat sa-l faca, nici eu, nici ceilalti membri ai echipei infoarena si nici cel care a adaugat problema. Daca arunci o privire aici, poti vedea ca un copil de clasa a VIII-a ti-a raspuns aproximativ acceptabil.
In momentul in care tu nu cunosti notiuni elementare de limbaj, vii pe forum si ai o atitudine deplasata, de parca noi suntem de vina ca pe gcc nu merge codul tau care nu respecta standardele.
« Ultima modificare: Februarie 15, 2010, 13:10:02 de către Andrei Grigorean » Memorat

omului i-au fost date instinctele pentru a supravietui, nu pentru a fi sclavul lor.
Bit_Master
Vorbaret
****

Karma: -49
Deconectat Deconectat

Mesaje: 159



Vezi Profilul
« Răspunde #7 : Martie 18, 2012, 13:44:24 »

In solutia oficiala scrie ca pentru fiecare buton apasat consideri intervale continue (stanga si dreapta), dar din problema se intelege ca la apasare butonul apasat nu se transforma; e o gaura in interval.
Deci un contraexemplu ar fi sirul aa cu puterea 1 pentru a.
aa
11
2 intervale [1;2] si [1;2] => solutia ar fi 1.
dar solutia e 2, poti apasa ambele butoane (fiecare il transforma pe celalalt).
Deci e solutia oficiala gresita sau problema incomplet formulata? In orice caz, nu prea e ok, ca doar e problema de ONI.
« Ultima modificare: Martie 19, 2012, 17:14:47 de către Alexandru-Iancu Caragicu » Memorat
stefan_creasta
Strain


Karma: 0
Deconectat Deconectat

Mesaje: 3



Vezi Profilul
« Răspunde #8 : Noiembrie 01, 2015, 18:30:41 »

Ma poate ajuta si pe mine cineva; am incarcat problema si iau 60 de pct si nu stiu ce am gresit :

#include <cstdio>
#include <algorithm>
using namespace std;
char v[10005],a[200];
int put[10000],st[10000],dr[10000],p[200],aux[10005];

int main()
{
    int n,i,j=1,m,s,q,pmax=0,nr=0;
    freopen("char.in","r",stdin);
    freopen("char.out","w",stdout);
    scanf("%d\n",&n);
    for(i=1;i<=n;++i){
        scanf("%c",&v);
        aux=v;
    }
    scanf("%d",&m);
    for(i=1;i<=m;++i){
        scanf("%d",&put);
        if(put>pmax){
            pmax=put;
        }
    }
    sort(aux+1,aux+n+1);
    i=1;
    while(i<=n)
    {
        a[j]=aux;
        p[aux]=j;
        int count=0;
        while(i<=n&&aux==aux[i+1]){
            ++i;++count;
        }
        if(put[p[aux]]==pmax)
            nr+=count+1;
        ++i;++j;
    }
    printf("%d\n",nr);
    for(i=1;i<=n;++i)
    {
        st=i-put[p[v]];
        if(st<1)
            st=1;
        dr=i+put[p[v]];
        if(dr>n)
            dr=n;
    }
    int d=dr[1];nr=1;
    for(i=1;i<=n;++i)
        if(d<st)
        {
            d=dr;
            ++nr;
        }
    printf("%d",nr);
    return 0;
}
Memorat
klamathix
Echipa infoarena
Nu mai tace
*****

Karma: 733
Deconectat Deconectat

Mesaje: 1.216



Vezi Profilul
« Răspunde #9 : Noiembrie 01, 2015, 22:22:24 »

Salut,

S-ar putea să fie fiindcă declari unii vectori fix de 10.000 și apoi accesezi al 10.000-lea element. Văd că la unii ai pus 10.005. Ca să nu riști să fii neatent pe viitor, fă-ți o constantă MAXN = 10.005.
Memorat
stefan_creasta
Strain


Karma: 0
Deconectat Deconectat

Mesaje: 3



Vezi Profilul
« Răspunde #10 : Noiembrie 07, 2015, 10:59:27 »

Salut,

Multumesc pentru sfat. Am facut modificarea si nu s-a intamplat nimic.

Stefan
Memorat
Pagini: [1]   În sus
  Imprimă  
 
Schimbă forumul:  

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