Pagini: 1 2 [3]   În jos
  Imprimă  
Ajutor Subiect: OJI 2009  (Citit de 19218 ori)
0 Utilizatori şi 1 Vizitator pe acest subiect.
Cristian_B
Strain


Karma: -8
Deconectat Deconectat

Mesaje: 18



Vezi Profilul
« Răspunde #50 : Martie 20, 2009, 14:17:11 »

Buna ziua, am observat ca problema "Expresie" de la clasa a 9-a, OJI 2009 are ca fisier de iesire pe testul 7 si 8 un numar mai mare decat maxlongint in borland pascal 7.0, modificand longint cu int64 am luat 100 p pe sursa, cu longint luam doar 80. O solutie a problemei era suma cu numere mari, insa nu cred ca problema a fost gandita sa fie rezolvata cu sume cu numere mari, mai degraba a fost gandita si rezolvata folosind Free Pascal, dar la olimpiada am primit Borland Pascal 7.0(cum este in regulament).
Memorat
sima_cotizo
Nu mai tace
*****

Karma: 219
Deconectat Deconectat

Mesaje: 596



Vezi Profilul
« Răspunde #51 : Martie 20, 2009, 14:19:30 »

O solutie a problemei era suma cu numere mari, insa nu cred ca problema a fost gandita sa fie rezolvata cu sume cu numere mari, mai degraba a fost gandita si rezolvata folosind Free Pascal, dar la olimpiada am primit Borland Pascal 7.0(cum este in regulament).

Crezi tu? Tongue Cata vreme nu era vreo restrictie in textul problemei, ar fi trebuit sa ai in vedere acest caz...
Memorat
pauldb
Nu mai tace
*****

Karma: 821
Deconectat Deconectat

Mesaje: 1.901



Vezi Profilul
« Răspunde #52 : Martie 20, 2009, 15:08:37 »

Buna ziua, am observat ca problema "Expresie" de la clasa a 9-a, OJI 2009 are ca fisier de iesire pe testul 7 si 8 un numar mai mare decat maxlongint in borland pascal 7.0, modificand longint cu int64 am luat 100 p pe sursa, cu longint luam doar 80. O solutie a problemei era suma cu numere mari, insa nu cred ca problema a fost gandita sa fie rezolvata cu sume cu numere mari, mai degraba a fost gandita si rezolvata folosind Free Pascal, dar la olimpiada am primit Borland Pascal 7.0(cum este in regulament).

Se puteau folosi tipuri de date reale (extended, comp pentru Pascal, double pentru C/C++).
Memorat

Am zis Mr. Green
alexandru92
Nu mai tace
*****

Karma: -191
Deconectat Deconectat

Mesaje: 496



Vezi Profilul
« Răspunde #53 : Martie 20, 2009, 15:17:53 »

Probleme sunt puse pe infoarena, sau cand se vor pune??
Memorat
gabitzish1
Moderatori infoarena
Nu mai tace
*****

Karma: 321
Deconectat Deconectat

Mesaje: 926



Vezi Profilul
« Răspunde #54 : Martie 20, 2009, 15:24:26 »

Trebuie vorbit cu autorii problemelor pentru a obtine acordul lor.
Memorat
andreirulzzz
Strain


Karma: 1
Deconectat Deconectat

Mesaje: 7



Vezi Profilul
« Răspunde #55 : Martie 21, 2009, 12:28:27 »

Am si eu o nelamurire...
La clasa a IX-a, la problema a 2-a(Placare)
am testat cu evaluatorul oficial sursa mea... si iau 70 pct
daca modific in sursa mea functia EOLN cu SEEKEOLN iau 90 pct pe problema

cand m-am uitat pe testele lor am observat ca la testul 3 si 5 mai este un spatiu in plus, la fiecare rand, incepand cu randul al doilea

In datele de intrare nu este mentionat nicaieri asa ceva
"Date de intrare
Fişierul de intrare placare.in are următoarea structură:
-pe prima linie valorile naturale N  M, separate printr-un spaţiu, unde N este înălţimea suprafeţei, M este lăţimea suprafeţei.
-pe fiecare din următoarele N linii se află un şir de valori întregi, separate prin câte un spaţiu, reprezentând codificarea respectivei linii a placării."

Doresc si eu o explicatie cel putin logica pentru care am luat 70 pct in loc de 90...
« Ultima modificare: Martie 21, 2009, 12:54:07 de către Roman Andrei » Memorat
alexandru92
Nu mai tace
*****

Karma: -191
Deconectat Deconectat

Mesaje: 496



Vezi Profilul
« Răspunde #56 : Martie 21, 2009, 13:04:09 »

Placarea este  o probleme relativ  simpla, nu ar trebuii sa impuna probleme Very Happy.
Din cate stiu daca citesti  numere, n-ar trebuii sa te deranjeze daca is 1 sau n spatii intre numere. Si  EOLN, este EOF sau...?
Memorat
andreirulzzz
Strain


Karma: 1
Deconectat Deconectat

Mesaje: 7



Vezi Profilul
« Răspunde #57 : Martie 21, 2009, 13:14:17 »

Problema este simpla intradevar dar,
la sfarsit de linie este un spatiu in plus in testele oficiale.

Ca un exemplu:
In pascal, un simplu program ar fi urmatorul:
Cod:
begin
[assignari]
while not eoln(input) do begin
        read(input,a);
        write(a);
        end;
close(input);
end.
cand fisierul de intrare contine doar "1", programul va afisa "1"

Daca, in schimb, in fisierul de intrare ai "1 "(am adaugat un spatiu la sfarsit)
programul va cicla din cauza spatiului de la sfarsit si va afisa "11111111..."
nu mi se pare normal sa fie spatii la sfarsit de linie in testele oficiale.... nu este mentionat nicaieri

si EOLN=end of line

[editat de moderator] foloseste tag-ul "code" cand postezi cod pe forum
« Ultima modificare: Martie 21, 2009, 13:28:50 de către Roman Andrei » Memorat
sima_cotizo
Nu mai tace
*****

Karma: 219
Deconectat Deconectat

Mesaje: 596



Vezi Profilul
« Răspunde #58 : Martie 21, 2009, 13:18:38 »

@Alexandru:
Placarea este  o probleme relativ  simpla, nu ar trebuii sa impuna probleme Very Happy.
Din cate stiu daca citesti  numere, n-ar trebuii sa te deranjeze daca is 1 sau n spatii intre numere. Si  EOLN, este EOF sau...?
Acelea sunt functii de pascal si faptul ca problema este simpla nu are nicio legatura cu problemele semnalate de Andrei...

@Andrei: cred ca timpul pentru contestatii a trecut, acum loturile judetene ar trebui sa fie deja stabilite. Nu am citit problema respectiva (poti sa imi trimiti mesaj personal sau sa postezi un link pe forum catre problema), dar daca "nu mentiona" nu inseamna neaparat ca nu trebuia sa ai asta in vedere.
Memorat
andreirulzzz
Strain


Karma: 1
Deconectat Deconectat

Mesaje: 7



Vezi Profilul
« Răspunde #59 : Martie 21, 2009, 13:34:18 »

@Alexandru:
Placarea este  o probleme relativ  simpla, nu ar trebuii sa impuna probleme Very Happy.
Din cate stiu daca citesti  numere, n-ar trebuii sa te deranjeze daca is 1 sau n spatii intre numere. Si  EOLN, este EOF sau...?
Acelea sunt functii de pascal si faptul ca problema este simpla nu are nicio legatura cu problemele semnalate de Andrei...

@Andrei: cred ca timpul pentru contestatii a trecut, acum loturile judetene ar trebui sa fie deja stabilite. Nu am citit problema respectiva (poti sa imi trimiti mesaj personal sau sa postezi un link pe forum catre problema), dar daca "nu mentiona" nu inseamna neaparat ca nu trebuia sa ai asta in vedere.
Linkul problemei este aici http://olimpiada.info/oji2009/probleme/2009/sub_2009_5_12.zip

cu toate ca mi se pare cam incorect... mersi 
o sa am in vedere acest lucru la ONI Very Happy
Memorat
anna_bozianu
De-al casei
***

Karma: 5
Deconectat Deconectat

Mesaje: 111



Vezi Profilul
« Răspunde #60 : Martie 21, 2009, 13:35:25 »

Nu am implementat de mult in pascal dar banuiesc ca tu ai o problema cu controlul asupra numarului de citiri pe care la faci pe o linie. Daca mai ai de citit pavari pe o linie citirea s-ar face ( daca imi amintesc bine) cu read daca nu trebuie sa treci la linia noua si astfel citirea primului numar sa o faci cu readln . Poti controla aceste doua cazuri astfel : contorizezi cate pavari ai pe fiecare linie
1. daca ai citit numarul pozitiv x atunci adaugi valoarea x la contorul liniei curente
2. daca ai citit numarul negativ -x atunci adaugi cate o unitate la contorul celor x linii consecutive
   incepand cu cea curenta

Astfel daca pe linia curenta contorul = numarul de coloane, ai terminat de citit linia curenta si urmatoarea citire trebuie facuta pentru primul numar de pe linia urmatoare.

Sper sa nu gresesc, dar strategia asta cred ca te-ar fi scapat de controlul finalului de linie.
Memorat
andreirulzzz
Strain


Karma: 1
Deconectat Deconectat

Mesaje: 7



Vezi Profilul
« Răspunde #61 : Martie 21, 2009, 13:51:39 »

Ai dreptate, Anna.
Dar problema mea nu este cu controlul numerelor de pe linie...
Problema mea este cu datele de intrare...
Spune clar in enunt
"-pe fiecare din următoarele N linii se află un şir de valori întregi, separate prin câte un spaţiu, reprezentând codificarea respectivei linii a placării."
Doar valorile intregi sunt separte printr-un spatiu, prin urmare, la sfarsitul liniei, ultima valoare ar trebui sa fie intreaga!, nu " "(spatiu)

Oricum... cred ca m-am lamurit, de-acum inainte voi fi atent si la unele detalii "extra"  wink
Memorat
wefgef
Nu mai tace
*****

Karma: 1049
Deconectat Deconectat

Mesaje: 3.008


razboinicu' luminii


Vezi Profilul
« Răspunde #62 : Martie 21, 2009, 19:38:54 »

Seekeoln intoarce adevarat daca pana la sfarsitul linei curente exista cel putin un caracter diferit de spatii (spatiu, tab, etc). Eoln intoarce adevarat daca pana la sfarsitul liniei exista cel putin un caracter.

In C, eu as fi facut problema asta astfel:
Citeam cu fgets cate o linie intr-un array of char, iar apoi citeam cu sscanf cate un intreg cat timp returna sscanf-ul valoarea 1. Ajuta sa stiti librariile standard si la olimpiada Wink
Memorat

omului i-au fost date instinctele pentru a supravietui, nu pentru a fi sclavul lor.
INSiDe123
Strain


Karma: 0
Deconectat Deconectat

Mesaje: 12



Vezi Profilul
« Răspunde #63 : Martie 22, 2009, 22:32:35 »

stie vreunu data in care tre sa ajungem acolo ? scrie ca incepe pe 10 aprilie dar stiu ca dureaza vreo 2 zile pregatirile si alte deastea
Memorat
c_e_manu
Nu mai tace
*****

Karma: 56
Deconectat Deconectat

Mesaje: 243



Vezi Profilul
« Răspunde #64 : Martie 22, 2009, 22:51:26 »

Citat
stie vreunu data in care tre sa ajungem acolo ? scrie ca incepe pe 10 aprilie dar stiu ca dureaza vreo 2 zile pregatirile si alte deastea

Fii sigur ca o sa fii anuntat! Nu mai are rost sa intrebati chestii ce nici organizatorii nu le stiu! Intrebati degeaba... peacefingers
Memorat
Pagini: 1 2 [3]   În sus
  Imprimă  
 
Schimbă forumul:  

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