POLSKI SPOJ

Problem hidden
This problem was hidden by Editorial Board member probably because it has incorrect language version or invalid test data, or description of the problem is not clear.

Zadanie w systemie SPOJ (trudne)

582. Układ równań

Kod zadania: MN_2

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 Kosowski
Data dodania:2005-10-14
Limit czasu wykonania programu:2s
Limit długości kodu źródłowego8192B
Języki programowania:All except: AWK CLOJ ERL F# GO JS PERL 6 PYTH 3.1.2 SED

ukryj komentarze
2012-03-11 20:37:38 Mateusz Mazur
@Piotr zapewne chodzi o przypadek, kiedy w pewnych krokach dzielimy przez 0, bo jest to algorytm Gaussa i innego pana :)
2012-03-10 21:22:59 Piotr Kąkol
Nie wiem, czemu niby zwykły Gauss nie wystarczy, żeby mieć maxa. Radzę nie przejmować się tym komentarzem.
2009-10-06 23:09:46 Przemek Komosa
To jest tylko przykład. Próbę rozwiązania należy podjąć jeżeli uważasz, że dasz radę i zmieścisz się w czasie. Aby uzyskać maksymalny wynik należy rozwiązać wszystkie testy
2009-09-11 13:45:43 Nartith
albo pytając inaczej:
Kiedy należy podjąć próbę rozwiązania układu?
2009-09-11 12:43:49 Nartith
dlaczego w przykładzie pierwszym mamy wypisać nie??
x=0
x+y=0
wiec czy wynikiem nie powinno być:
tak
0.000
0.000??
SPOJ System © 2012 Sphere Research Labs | Projekty informatyczne i aplikacje na zamówienie. All Rights Reserved.