Afişează mesaje
|
Pagini: 1 [2] 3 4 ... 10
|
32
|
infoarena - concursuri, probleme, evaluator, articole / Arhiva de probleme / Răspuns: 102 Lanterna
|
: Martie 05, 2011, 10:02:58
|
Citat din enunt : iar daca ar alege o lanterna de un tip mai mare decat W, durata deplasarii ar fi mai mare sau egala. N-ar trebui sa fie doar 'egala' acolo ? Daca pentru un K solutie obtin timpul minim T, inseamna ca pentru orice alt k > K obtin timpul minim T. Graful e tot timpul acelasi, inseamna ca pentru k mai mare decat K voi obtine acelasi timp minim T.Iar daca K nu e rezultatul cautat, atunci pt orice K > k obtin un T mai mic?
|
|
|
37
|
infoarena - concursuri, probleme, evaluator, articole / Informatica / Răspuns: it->first, it->second
|
: Martie 04, 2011, 12:57:44
|
Nu merge sa urmaresc. Fac ceva de genul : if(it != ships.end() && it -> second > y) fout << "-1\n"; else { it2 = it; for(;it2 != ships.begin() && it2 -> second < y; --it2); ships.erase(it2, it); ships.insert(make_pair(x, y)); fout << ships.size() << "\n"; }
Nu pot face debug cum trebuie, nu vad niciodata valoarea lui it2->second ca sa vad daca e mai mica, mai mare decat y.
|
|
|
38
|
infoarena - concursuri, probleme, evaluator, articole / Informatica / it->first, it->second
|
: Martie 04, 2011, 12:41:43
|
Salut. Nu pot face debug cum trebuie la un cod.Daca vreau sa vad ce valoare are it->second pentru un anumit iterator, in fereastra cu watches imi apare "There is no member or method named first/second". Am incercat si cu punct si cu sageata si nimic. Declararile sunt urmatoarele : set< pair <int, int> > ships; set< pair <int, int> >::iterator it, it2;
Am mai folosit STL si vector,set cu pair dar n-am mai patit asta niciodata.
|
|
|
44
|
infoarena - concursuri, probleme, evaluator, articole / Informatica / Răspuns: Fisiere txt
|
: Februarie 20, 2011, 13:09:22
|
Daca nu vrei sa citesti ca sir de caractere, atunci trebuie sa stii cate numere sunt pe o linie. Daca stii ca pe linia i sunt x numere si pe linia i + 1 sunt y numere, dupa ce citesti cele x de pe linia i atunci sare automat pe linia i + 1.Dupa ce citesti y numere pe linia i + 1 va sari pe linia i + 2. De obicei stii cate numere si pe ce linii ai in fisierul de intrare.Sunt si probleme la care nu sti, iar acolo trebuie sa citesti ca sir de caracter fiecare linie.
|
|
|
45
|
infoarena - concursuri, probleme, evaluator, articole / Informatica / Răspuns: Fisiere txt
|
: Februarie 20, 2011, 11:05:52
|
Ai functii :
fin.getline(S, numarul maxim de caractere pe care vrei sa-l citesti pe o linie) - dupa ce citeste sirul S intr-un vector de caractere sare automat la urmatoarea linie gets(S) - citesti sirul S de pe o linie si sari la urmatoarea linie Dupa aceea, cand parcurgi sirul iti construiesti numerele ( nr = nr * 10 + cifranoua ) pana cand dai de urmatorul spatiu.
|
|
|
48
|
infoarena - concursuri, probleme, evaluator, articole / Arhiva de probleme / Răspuns: 833 Cablaj
|
: Februarie 17, 2011, 12:09:34
|
As dori sa stiu cum imi construiesc muchiile.. Prima oara am incercat toate combinatiile, dar la N <= 3000 e clar ca nu e avantajos din cauza MLE. Dupa am incercat sa iau pentru fiecare nod i si sa caut nodul j pentru care dist(i, j) sa fie minima. Apoi fac un Kruskal pe muchiile astea. M-am prins ca e incorecta solutia, dar cum sa aleg muchiile pe care sa caut arborele partial de cost minim ? (fiindca in enunt nu e nicio restrictie asupra muchiilor, pot pune muchii intre toate nodurile sau pot avea doar n-1 muchii din start)
|
|
|
50
|
infoarena - concursuri, probleme, evaluator, articole / Arhiva de probleme / Răspuns: 1093 Palalila2
|
: Februarie 14, 2011, 15:48:29
|
Daca folosesti biblioteca <fstream> (declari ifstream fin("palalila2.in"); ofstream fout("palalila2.out"); citeste cu fin.getline(Sir, lungimea maxima a sirului). getline(char*, val) e functia din <string.h> care permite citirea asta. Poti citi si cu gets(S) un sir si folosesti biblioteca <cstdio> cu functia gets(Sir). Mai poti incerca sa citesti caracter cu caracter intr-o variabila, si sa le bagi in vectorul de siruri pe rand.
|
|
|
|