Afişează mesaje
Pagini: 1 ... 5 6 [7]
151  infoarena - concursuri, probleme, evaluator, articole / Probleme externe / Răspuns: Problema OJI 2009 : Iulie 05, 2011, 13:12:06
Salut Smile !

Pana la olimpiada mai trebuie sa inveti functii si structuri Smile !

Tu vei avea nevoie de o Structura care sa iti pastreze pentru fiecare ingredient in parte numele (sub forma de string) si cantitatea (int). Astfel vei avea un vector destructuri (pana la 100 de elemente in total), in care vei retine cele N posibile elemente. Dupa ce ai aflat toate ingredientele si cantitatea, ele trebuiesc sortate crescator dupa nume. In acest mod vei sorta vectorul de structuri, interschimband structurile intre ele, nu doar numele sau cantinatea.

Ar trebui sa arate cam asa:

Cod:
typedef struct
{
char NumeIngr[25];
int cantitate;
} Ingredient;

Ingredient A[101] // declari vectorul ingredient

In concluzie vei sorta acest vector cu bubble sort si gata problema Smile !

Mult succes si sper sa te ajute!
152  infoarena - concursuri, probleme, evaluator, articole / Arhiva de probleme / Răspuns: 1045 Covor : Iunie 22, 2011, 22:18:30
Multumesc frumos pentru raspuns.

Mi-ai putea da si mie sursa prin PM te rog frumos? Din moment ce eu nu mai am idei de rezolvare mi-ar fi de mare ajutor.

Multumesc.

L.E. : Recurenta intr-un fel sau altul era gresita!
153  infoarena - concursuri, probleme, evaluator, articole / Arhiva de probleme / Răspuns: 399 Sum2 : Iunie 22, 2011, 21:47:56
Deque-ul acela pastreaza doar minimul pe intervalul [i + L - U,i], pentru fiecare i de la [0,N-L] (pozitiile negative nu se iau in seama). Cred ca asa ar fi o descriere mai usoara a problemei Smile . Dupa care cu minimul respectiv si i + L cred ca stiti ce sa faceti.
Spor la treaba Smile !
154  infoarena - concursuri, probleme, evaluator, articole / Arhiva de probleme / Răspuns: 1045 Covor : Iunie 22, 2011, 21:40:29
Salut la toata lumea.

Am o rezolvare in O(N^2) pe care cred ca o pot si demonstra prin inductie, cu toate acestea iau 0 puncte. Imi puteti spune va rog daca afirmatia mea e corecta? Recursivitatea este asa:

  -  Daca pe pozitia A[ i ][ j ] este 0 si pe A[ i-1 ][ j ] == 0 si A[ i ][ j-1 ] == 0 ( adica si sus si la stanga sa fie 0 ) recursivitatea este A[ i ][ j ] = A[ i-1 ][ j ] + A[ i ][ j-1 ] + 1 - A[ i-1 ][ j-1 ]
  -  Daca A[ i-1 ][ j ] ( cea de deasupra ) e 1 atunci A[ i ][ j ] va lua doar numarul de 0-uri de la stanga
  -  Daca A[ i ][ j-1 ] (cea de la dreapta ) e 1 atunci A[ i ][ j ] va lua doar numarul de 0-uri de deasupra

Este corecta aceasta rezolvare?
Eu am testat aceasta rezolvare pe mai multe teste, chiar am si verificat cu o solutie brute force, si toate imi dau corect.
De ex pentru testul :

Cod:
18
010101010101010111
111000101011010111
111000101011010101
111000101011111010
001010110101010101
111000101011010100
111000101011010100
111000101011111000
001010110101010100
111000101011010100
111000101011010100
111000101011111000
001010111110001000
101101011110001000
101101011110001000
101111100010101100
000000000000000000
000000000000000000

Da 1250 ?

Va rog frumos sa ma ajutati.
Multumesc!
155  infoarena - concursuri, probleme, evaluator, articole / Arhiva de probleme / Răspuns: 1165 Expresie3 : Mai 22, 2011, 09:03:54
Salut la toata lumea!

Imi poate explica cineva ce are sursa mea de ia 0 pct Sad ?
Imi da pentru orice test as baga raspunsul corect, inclusiv testele oficiale de la ONI. Banuiesc ca este o problema de la Linux ... din moment ce eu lucrez pe Windows nu stiu care ar fi problema. Am o abordare recursiva (care da Incorrect, nu depaseste stiva). Citesc cu fgets() si am o functie asa :
Cod:
void sterge(int A[])
{
for(int i=1;i<=30;i++)
A[i] = 0;
}

Cand introduc matricea in functie, mi-o intoarce modificata (cum face pe Windows), sau se intoarce asa cum a intrat? Alta problema nu vad care ar putea sa fie.

Multa bafta tuturor!

Edit : Acum iau 100 pct cu exact aceeasi sursa... Nu pot sa inteleg cum o limita de la 30-40 poate sa incurce un vector care imi trebuia doar pana la 26 Smile ...
156  infoarena - concursuri, probleme, evaluator, articole / Arhiva de probleme / Răspuns: 1086 Secvdist : Mai 15, 2011, 18:23:02
Ok ... nu inteleg. Imi poate explica cineva ce este gresit la rezolvarea mea va rog peacefingers?

Cod:
int solve(void)
{
Deckmin[1] = A[1]; //vectorul unde se pastreaza max
Deckmax[1] = A[1]; //vectorul unde se pastreaza min
int c = 1;
Pmin[1] = 1; //vectorul unde editez lungimile secventei pentru deque min
Pmax[1] = 1; //vectorul unde editez lungimile secventei pentru deque max
for(int i=2;i<=N;i++)
{
Backmin ++;
while(Backmin>=Frontmin && Deckmin[--Backmin] > A[i]);
Deckmin[++Backmin] = A[i];
Pmin[Backmin] = ++c;
Backmax ++;
while(Backmax>=Frontmax && Deckmax[--Backmax] < A[i]);
Deckmax[++Backmax] = A[i];
Pmax[Backmax] = c;
if(Deckmax[Frontmax]-Deckmin[Frontmin]>K)
{
if(Frontmin == Backmin)
{
while(Deckmax[++Frontmax]-Deckmin[Frontmin]>K);
c -= Pmax[Frontmax];
}
else
{
while(Deckmax[Frontmax]-Deckmin[++Frontmin]>K);
c -= Pmin[Frontmin];
}
c ++;
}
if(MAX<c)
MAX = c;
}
return 0;
}

L.E. : ... ulterior mi-am dat seama ca incercarea mea de rezolvare este utopica. Distantele dintre secvente se calculeaza altfel, deque-ul e bun peacefingers.
157  infoarena - concursuri, probleme, evaluator, articole / Arhiva de probleme / Răspuns: 1171 Ec : Mai 11, 2011, 17:11:54
Citat
Evaluatorul nu a returnat un numar la stdout pe testul 1 (se ignora spatii, newline, etc)
Am incercat de 3 ori, cu fopen, freopen ... de afisat afisez, ce are Huh ?
158  infoarena - concursuri, probleme, evaluator, articole / Arhiva de probleme / Răspuns: 073 Perechi : Mai 07, 2011, 21:32:38
Imi poate da si mie cineva un Hint pentru O(sqrt(N)), sau pentru formula Smile ! Nu pot sa trec de 85 pct in O(sqrt(N) + D^2).

L.E. : Pentru a-i ajuta si pe ceilalti, sa caute in solutiile de la ONI 2010 clasa a 9-a, la problema cmmmc. Acolo este explicata cu de-amanuntul formula si evident o rezolvare mai rapida pentru aceasta problema Smile .
159  infoarena - concursuri, probleme, evaluator, articole / Arhiva de probleme / Răspuns: 484 Numere 5 : Mai 03, 2011, 23:04:43
In sfarsit mi-a dat si mie cu memorie O(1) Smile ! E una dintre probleme "mici" de la care ai ce invata.
160  infoarena - concursuri, probleme, evaluator, articole / Algoritmiada 2011 / Răspuns: Feedback Algoritmiada : Mai 01, 2011, 15:23:26
A fost super editia aceasta a Algoritmiadei... tineti-o tot asa Smile peacefingers.
161  Comunitate - feedback, proiecte si distractie / Feedback infoarena / Răspuns: Bug reports : Mai 01, 2011, 12:17:52
Nu mai merge evaluatorul Smile !
162  infoarena - concursuri, probleme, evaluator, articole / Algoritmiada 2011 / Răspuns: Fabrica : Aprilie 30, 2011, 09:26:15
Fiecare procesor poate procesa numai o singura bere la un moment dat Smile ?
163  infoarena - concursuri, probleme, evaluator, articole / Algoritmiada 2011 / Răspuns: Avioane : Aprilie 30, 2011, 08:35:50
Numarul din fisierul de iesire intra pe 64 de biti Smile ?
164  infoarena - concursuri, probleme, evaluator, articole / Arhiva de probleme / Răspuns: 821 Expresie : Aprilie 22, 2011, 14:29:40
Imi poate explica si mie cineva de ce trebuia declarat vectorul long long, deoarece 1...10000 intra si in int!
165  infoarena - concursuri, probleme, evaluator, articole / Arhiva de probleme / Răspuns: 1133 Expresie2 : Aprilie 15, 2011, 19:13:12
Hei e clar ca exista si caractere necorespunzatoare  Read This!!
Cer, daca OJI a trecut, macar aici sa se faca ceva.
166  infoarena - concursuri, probleme, evaluator, articole / Arhiva de probleme / Răspuns: 1127 Numere9 : Aprilie 12, 2011, 10:49:01
Nu stiu daca am dreptate ... s-ar putea ca in teste sa fie si numere mai mari de 2 miliarde, care trebuiesc tratate de rangul "sutelor de milioane", nu miliarde propriu zis ( cu toate ca in restrictii spune clar nri<=2.000.000.000 ). Sper sa va ajute!
167  infoarena - concursuri, probleme, evaluator, articole / Arhiva de probleme / Răspuns: 1125 Triti2 : Aprilie 11, 2011, 13:59:00
Multumesc frumos Smile !
168  infoarena - concursuri, probleme, evaluator, articole / Arhiva de probleme / Răspuns: 1125 Triti2 : Aprilie 11, 2011, 12:15:47
Salut la toata lumea!

Imi poate da cineva o idee la problema aceasta Very Happy ?
169  infoarena - concursuri, probleme, evaluator, articole / Arhiva de probleme / Răspuns: 1129 Pictura : Aprilie 10, 2011, 18:16:00
Parcurgerea aceea (in latime, adancime) nu se face la intamplare. Trebuie sa iei punctul de unde incepe sau de unde se sfarseste linia! Smile
170  infoarena - concursuri, probleme, evaluator, articole / Arhiva de probleme / Răspuns: 1112 Egal : Martie 27, 2011, 13:54:12
Salut la toata lumea.

Imi poate oferi cineva un exemplu mai concludent? Iau pe primele 8 incorect, si tot ce pun eu in exemplu imi da corect. Nu pot sa-mi dau seama unde gresesc...

De ex:
Cod:
15
1 2
1 3
3 4
3 5
5 6
5 7
2 8
8 10
10 11
4 9
9 12
9 13
6 14
7 15
1 2 3 3 3 2 1 2 2 1 3 3 2 1 1

Imi da :
Cod:
1 5
2 2
3 4
2 2
1 3
1 1
1 2
1 1
2 2
1 1
3 1
3 1
2 1
1 1
1 1
171  infoarena - concursuri, probleme, evaluator, articole / Arhiva de probleme / Răspuns: 1108 Light2 : Martie 09, 2011, 19:14:07
Salut la toata lumea! Imi poate da si mie cineva o solutie pentru aceasta problema? Ma chiunui de cateva zile sa o fac si nu reusesc deloc sa trec de 20 pct, si acelea trase de par. As fi recunoscator daca mi-ati da un hint (sursele nu m-au ajutat prea mult sa inteleg algoritmul, un mesaj pe privat cu algoritmul ar fi binevenit) Smile !
172  infoarena - concursuri, probleme, evaluator, articole / Arhiva de probleme / Răspuns: 046 Text : Februarie 19, 2011, 13:48:11
Sirul, propozitia, linia, daca citesti caracter cu caracter, se termina cu '\n' la sfarsit deci n-ai nicio sansa Smile !

Nota : In C !
173  infoarena - concursuri, probleme, evaluator, articole / Arhiva de probleme / Răspuns: 1099 Nc : Ianuarie 30, 2011, 01:43:30
Salut la toata lumea! Puteti sa mai dati niste exemple pentru aceasta problema? Pe toate exemplele mele merge bine si nu ma prind unde crapa, pentru ca atunci cand il introduc in evaluator iau 0 pct  Huh !

Uitati de exemplu pentru :
Cod:
Se da un text format din litere mari si mici ale alfabetului englez precum si semnele de punctuatie: "," (virgula), "." (punct), "!" (semnul exclamarii), "?" (semnul intrebarii), "..." (puncte de suspensie). Textul se poate intinde pe mai multe linii. Stim ca o fraza se termina cu unul din semnele de punctuatie ".", "?", "!" sau "...". Vrem sa determinam cate fraze sunt si cate cuvinte contine fiecare fraza.
Deoarece textul este intr-o limba neoficiala, cuvintele pot incepe si cu litera mica si pot contine litere mari in interior sau la final.
Atentie, cuvintele pot fi separate de oricate spatii si pot exista spatii la inceputul si la sfarsitul frazelor.

Imi da :

Cod:
13
21
3
4
4
4
8
13
2
2
3
1
12
23

Asa trebuie sa dea si daca da de ce as lua 0 pct ?
174  infoarena - concursuri, probleme, evaluator, articole / Arhiva de probleme / Răspuns: 002 Jocul Flip : Ianuarie 27, 2011, 22:32:23
Salut la toata lumea! Vreau si eu sa stiu cu ce gresesc. Fac un backtracking recursiv de n+m elemente. Multimea variabilelor pe care poate sa le ia e 1/-1, cum trebuie sa fac ca sa il optimizez, deoarece imi depaseste timpul pe 5 teste. Multumesc!

LE : Am reusit s-o fac facand backtracking de n elemente si calculand maximul dintre coloane : 100 pct Smile !
Pagini: 1 ... 5 6 [7]
Powered by SMF 1.1.19 | SMF © 2006-2013, Simple Machines