Fişierul intrare/ieşire:ecu.in, ecu.outSursăLot 2003
AutorMugurel Ionut AndreicaAdăugată de
Timp execuţie pe test0.05 secLimită de memorie65536 kbytes
Scorul tăuN/ADificultatenormalnormalnormalnormalnormal

Vezi solutiile trimise | Statistici

Ecu

Gigel are de rezolvat un sistem complicat de ecuatii neliniare si pentru aceasta intentioneaza sa foloseasca o metoda iterativa care, spera el, va converge catre solutie dupa un numar rezonabil de iteratii. Mai intai, el alege niste valori initiale pentru cele N necunoscute ale sistemului. Aceste valori se noteaza cu x1(0) x2(0) ... xN(0). In continuare, dupa fiecare iteratie, el va modifica valorile necunoscutelor, conform urmatoarelor relatii:
* xk(i)=pk*xk(i-1)+(1-pk+1)*xk+1(i-1)+yk pentru 1≤ k < N
* xN(i)=pN*xN(i-1)+(1-p1)*x1(i-1)+yN
unde prin xk(i) s-a notat valoarea necunoscutei k dupa i iteratii. pk reprezinta ponderea asociata necunoscutei k, iar yk reprezinta corectia aplicata necunoscutei k, dupa fiecare iteratie. Gigel nu este un programator prea bun si nu stie sa implementeze algoritmul iterativ descris. De aceea, are nevoie de ajutorul dumneavoastra.

Cerinta

Dandu-se valorile initiale ale celor N necunoscute, ponderile asociate si corectiile aplicate, sa se determine valorile necunoscutelor dupa M iteratii.

Date de Intrare

Pe prima linie a fisierului ecu.in se afla doua numere intregi, separate printr-un spatiu, N si M. Pe urmatoarea linie se afla N numere reale, reprezentand valorile initiale ale necunoscutelor, in ordinea x1(0),...,xN(0). Pe urmatoarea linie se afla alte N numere reale, reprezentand ponderile asociate necunoscutelor, in ordine de la x1(0) la xN(0). Pe ultima linie a fisierului se afla N numere reale, descriind corectiile ce vor fi aplicate necunoscutelor x1(0),...,xN(0), dupa fiecare iteratie. Toate numerele reale sunt date cu cel mult 3 zecimale.

Date de Iesire

Pe prima linie a fisierului ecu.out se vor afisa N numere reale, rotunjite la trei zecimale, reprezentand valorile necunoscutelor dupa M iteratii.

Restrictii si precizari

  • 2 ≤ N ≤ 30
  • 0 ≤ M ≤ 1.000.000.000
  • -1000 ≤ xi(0) ≤1000, pentru k de la 1 la N
  • 0 ≤ pk ≤ 1, pentru k de la 1 la N
  • -0.1 ≤ yk ≤ 0.1, pentru k de la 1 la N

Exemplu

ecu.inecu.out
3 2
1.0 2.0 3.0
0.1 0.2 0.3
0.001 0.002 0.003
2.173 1.765 2.075

Explicatie

Dupa prima iteratie, valorile necunoscutelor sunt: 1.701; 2.502; 1.803. Dupa cea de-a doua iteratie, valorile necunoscutelor sunt: 2.173; 1.765; 2.075.

Trebuie sa te autentifici pentru a trimite solutii. Click aici

Cum se trimit solutii?

remote content