0151. Система линейных уравнений

Имя входного файла: linear.in
Имя выходного файла: linear.out
Ограничение по времени: 2 s
Ограничение по памяти: 32 megabytes

Профессор В. Пучер решил провести контрольную работу по линейной алгебре среди студентов первого курса Бэйлорского Университета. Одним из заданий он сделал решение системы линейных уравнений.

В процессе подготовки заданий именитый профессор столкнулся с проблемой составления различных систем уравнений для достаточно большого числа студентов. В итоге он поручил аспирантам написать генератор коэффициентов. Те, конечно же, справились с задачей и написали программу, которая составляет N линейных уравнений с N неизвестными. Также они предоставили и программу для решения полученных систем. Но В. Пучер усомнился в ответах, полученных этой программой, и попросил вас разработать другую, которая выдаст правильные ответы.

Помогите профессору, и он поможет вам.

Формат входного файла

В первой строке входного файла число N (0<N<7). Следующие N строк (длиной не более 255 символов) содержат описания уравнений. В уравнении могут встречаться названия переменных (x1,x2,x3,x4,x5,x6), а также не слишком большие целые числа и знаки арифметических операций (+,-,*,/). Они могут разделяться пробелами. В каждом уравнении обязательно присутствует знак равенства (=).

Формат выходного файла

Если заданная система имеет единственное решение, то требуется вывести фразу "1 solution.", а далее в каждой строке в лексикографическом порядке без пробелов значения, которые принимают переменные, в виде обыкновенных несократимых дробей: числитель и знаменатель через символ "/". Если ответ целый, то выведите только числитель. При бесконечном количестве решений, необходимо напечатать фразу "Infinite solutions.". Если система решений не имеет, то выведите строку "No solution." Гарантируется, что числа в ответе не превосходят миллиарда.

Пример:

linear.inlinear.out
3 x1 + x2 + x3 = 1 2*x1 +x2+2*x3 =1 x1+x2+3*x3=2 1 solution. x1=-1/2 x2=1 x3=1/2


Источник: Petrozavodsk Summer 2003. Petrozavodsk SU Contest #2, Friday, August 29

Обсудить       Отправить решение



Версия для печати