Zgłaszanie | Wszystkie zgłoszenia | Najlepsze | Lista |
MN_2 - Układ równań |
Zadanie polega na rozwiązaniu układu równań liniowych podanego w postaci macierzowej. Dla zadanej macierzy An x n oraz wektora bn x 1 należy wyznaczyć wektor xn x 1, taki że Ax=b, wykorzystując metodę elementów podstawowych.
Wejście
Pierwszy wiersz wejścia zawiera liczbę zestawów danych t (t=10).
Każdy zestaw danych rozpoczyna się od wiersza z pojedynczą liczbę całkowitą n określającą wymiar rozwiązywanego układu równań (1<=n<=10). W kolejnych n wierszach podane są współczynniki układu, w postaci:
a11 a12 ... a1n b1
a21 a22 ... a2n b2
...
an1 an2 ... ann bn
Należy przyjąć, że wszystkie współczynniki układu są wartościami całkowitymi z przedziału [-1000, 1000]. Każdy układ równań ma dokładnie jedno rozwiązanie. Zestawy danych oddzielone są pustym wierszem.
Wyjście
Dla każdego zestawu danych należy wypisać pojedynczy wiersz zawierający słowo tak lub nie, określający, czy podjęto próbę rozwiązania układu. W tym pierwszym przypadku należy w kolejnych n wierszach wypisać współczynniki wektora rozwiązania x1 x2... xn. Dopuszcza się bezwzględną niedokładność numeryczną wyniku nie przekraczającą 0.001.
Punktacja
Za poprawne rozwiązanie każdego zestawu danych otrzymuje się 1 punkt, z wyjątkiem pierwszego zestawu, którego rozwiązanie jest warte 3 punkty. Łącznie można uzyskać maksymalnie 12 punktów. Zastosowanie niezmodyfikowanej metody eliminacji Gaussa wystarcza do uzyskania 6 punktów.
Program podający błędne rozwiązanie dla któregokolwiek układu równań nie zostanie zaakceptowany.
Przykład
Wejście:
2
2
1 0 0
1 1 0
3
1 0 0 1
1 1 0 2
1 1 1 3
Wyjście:
nie
tak
1.000
1.000
1.000
Punktacja:
0pkt + 1pkt = 1pkt
Dodane przez: | adrian |
Data dodania: | 2005-10-14 |
Limit czasu wykonania programu: | 1s |
Limit długości kodu źródłowego | 8192B |
Limit pamięci: | 1536MB |
Cluster: | Cube (Intel G860) |
Języki programowania: | All except: GOSU |