Chirurgia spinală minim invazivă
Chirurgia spinală minim invazivă oferă pacienților oportunitatea unui tratament eficient, permițându-le o recuperare ultra rapidă și nu în ultimul rând minimizând leziunile induse chirurgical. Echipa noastră utilizează un spectru larg de tehnici minim invazive, din care enumerăm câteva: endoscopia cu variantele ei (transnazală, transtoracică, transmusculară, etc), microscopul operator, abordurile trans tubulare și nu în ultimul rând infiltrațiile la toate nivelurile coloanei vertebrale. www.neurohope.ro |
Reactivi OJI 2004, Clasa a IX-a
Last Updated: Sep 26 2016 20:07, Started by
Quaintej
, Sep 25 2016 19:25
·
0
#1
Posted 25 September 2016 - 19:25
Salut.
Am rezolvat problema Reactivi de la OJI 2004, Clasa a IX-a initial de 70 de puncte, apoi m-am uitat peste niste indicatii de rezolvare si am vazut sugestia de a ordona intervalele de temperatura crescator dupa temperatura minima , dupa ce se face citirea. Am facut acest lucru, am primit 100 de puncte dar totusi nu am inteles cu ce ajuta ordonarea aceasta. Imi poate explica cineva? Ideea mea era de a plasa initial fiecare reactiv intr-un frigider, apoi pentru fiecare reactiv sa caut alti reactivi astfel incat intersectia intervalelor lor sa nu fie vida. Daca gasesc, "mut" reactivul gasit in frigider la primul, si continui cautarea, ajustand temperatura frigiderului in care le-am plasat, si marchez faptul ca in frigiderul reactivului gasit nu se mai afla nimic, deci in continuare nu mai avem treaba cu el. aici este sursa: #include <fstream> using namespace std; int n,a[8002],i,j,b[8002],fr[8002],nr; ifstream fin("reactivi.in"); ofstream fout("reactivi.out"); int main() { fin>>n; for(i=1; i<=n; i++) { fin>>a[i]; fin>>b[i]; fr[i]=1; // fr este vectorul in care tin evidenta a cate lucruri avem in fiecare frigider } for(i=1; i<n; i++) for(j=i+1; j<=n; j++)//sortez vectorul in functie de temp minima if( a[i] > a[j] ) { swap( a[i] , a[j] ); swap( b[i] , b[j] ); } //luam cate 2 intervale for(i=1; i<=n-1; i++) for(j=i+1; j<=n; j++) if( fr[i]!=0 && fr[j]!=0 ) // sa nu fi pus deja substanta in alt frigider if( b[i]>=a[j] && b[j]>=a[i] ) //deci incap in acelasi frigider { if( a[i] < a[j] ) a[i]=a[j]; //ajustez temperatura if( b[i] > b[j] ) b[i]=b[j]; fr[i]++; //inca un lucru in frigiderul i fr[j]=0; //am golit frigiderul j si am pus continutul in i }// le-am pus in frigider, nu mai avem treaba cu ele for(i=1; i<=n; i++) if( fr[i]>=1 ) // daca avem ceva in acel frigider nr++; fout<<nr; return 0; }Imi cer scuze in caz ca va deranjeaza comentariile de pe anumite linii ale sursei. Multumesc anticipat.
Edited by dani.user, 25 September 2016 - 19:41.
|
#2
Posted 25 September 2016 - 19:42
Care-i cerinta?
Intr-un vector sortat e mai usor sa gasesti un element decat intr-unul nesortat. |
#3
Posted 26 September 2016 - 18:55
link: http://www.pbinfo.ro...robleme&id=1373
sau Enunt Într-un laborator de analize chimice se utilizează N reactivi. Se ştie că, pentru a evita accidentele sau deprecierea reactivilor, aceştia trebuie să fie stocaţi în condiţii de mediu speciale. Mai exact, pentru fiecare reactiv x, se precizează intervalul de temperatură [minx, maxx] în care trebuie să se încadreze temperatura de stocare a acestuia. Reactivii vor fi plasaţi în frigidere. Orice frigider are un dispozitiv cu ajutorul căruia putem stabili temperatura (constantă) care va fi in interiorul acelui frigider (exprimată într-un număr întreg de grade Celsius). Cerința Scrieţi un program care să determine numărul minim de frigidere necesare pentru stocarea reactivilor chimici. Date de intrare Fişierul de intrare reactivi.in conţine: pe prima linie numărul natural N, care reprezintă numărul de reactivi; pe fiecare dintre următoarele N linii se află min max (două numere întregi separate printr-un spaţiu); numerele de pe linia x+1 reprezintă temperatura minimă, respectiv temperatura maximă de stocare a reactivului x. Date de ieșire Fişierul de ieşire reactivi.out va conţine o singură linie pe care este scris numărul minim de frigidere necesar. Restricții și precizări 1 <= N <= 8000 -100 <= minx <= maxx <= 100 (numere întregi, reprezentând grade Celsius), pentru orice x de la 1 la N un frigider poate conţine un număr nelimitat de reactivi |
#4
Posted 26 September 2016 - 19:57
Ordonezi de la mic la mare deoarece si iterarea o faci de la stanga la dreapta pe axa numerelor (for(i=0,...i++).
Poti ordona si invers, daca si iterarea o faci invers. |
Anunturi
▶ 0 user(s) are reading this topic
0 members, 0 guests, 0 anonymous users