Розв’язок задачі з програмування Різниця
21 Листопада, 2019
Введення та редагування тексту Word 2016
25 Листопада, 2019Розв'язок олімпіадної задачі пробного туру з програмування 2019 року "Шкільна алгебра"
Використовується мова програмування Python 3
Шкільна алгебра
Тричлен a + bx + сy двох змінних x і y однозначно визначається коефіцієнтами a, b та c. Написати програму, яка за заданими a, b та c виводить відповідний тричлен, що записаний з використанням таких алгебраїчних правил:
• коефіцієнт при члені, що містить змінну, опускається, якщо його модуль дорівнює одиниці;
• член, коефіцієнт якого дорівнює нулю, опускається (крім випадку, коли всі коефіцієнти дорівнюють нулю, тоді тричлен складається з однієї цифри 0);
• знак "+" опускається, якщо він передує від'ємному коефіцієнту;
• знак "+" опускається, якщо він стоїть на початку виразу (так званий унарний плюс);
• знак множення між коефіцієнтом та змінною не записується.
При цьому заборонено міняти місцями члени.
Формат вхідних даних:
Через пробіл записані цілі коефіцієнти a, b та с, кожний з яких не перевищує 30000 за абсолютною величиною.
Формат вихідних даних:
Виведіть тричлен, що записаний з використанням вказаних алгебраїчних правил.
Examples
Input
0 2 -1
Output
2x-y
Input
3 0 -2
Output
3-2y
Обмеження
Full score: 100
Time limit: 100 ms
Real time limit: 5 s
Memory limit: 64M
Розв'язок
Правильність розв'язку - 100/100
a, b, c = map(int, input().split())
if a==0 and b==0 and c==0:
print(0)
elif a==0 and b==0:
if abs(c) == 1:
if c < 0:
print("-y")
else:
print("y")
else:
a = str(a)
b = str(b)
c = str(c)
print(c+"y")
elif a==0 and c==0:
if abs(b) == 1:
if b < 0:
print("-x")
else:
print("x")
else:
a = str(a)
b = str(b)
c = str(c)
print(b+"x")
elif b==0 and c==0:
a = str(a)
b = str(b)
c = str(c)
print(a)
elif a==0:
if abs(c) == 1 and abs(b) == 1:
if b < 0 and c < 0:
b = abs(b)
c = abs(c)
a = str(a)
b = str(b)
c = str(c)
print("-" + "x-" + "y")
elif b < 0:
b = abs(b)
a = str(a)
b = str(b)
c = str(c)
print("-" + "x+" + "y")
elif c < 0:
c = abs(c)
a = str(a)
b = str(b)
c = str(c)
print("x-" + "y")
else:
a = str(a)
b = str(b)
c = str(c)
print("x+" + "y")
elif abs(b) == 1:
if b < 0:
b = abs(b)
a = str(a)
b = str(b)
if c<0:
c = str(c)
print("-" + "x" + c + "y")
else:
c = str(c)
print("-" + "x+" + c + "y")
else:
a = str(a)
b = str(b)
if c<0:
c = str(c)
print("x" + c + "y")
else:
c = str(c)
print("x+" + c + "y")
elif abs(c) == 1:
if c < 0:
c = abs(c)
a = str(a)
b = str(b)
c = str(c)
print(b + "x-" + "y")
else:
a = str(a)
b = str(b)
c = str(c)
print(b + "x+" + "y")
elif b < 0 and c < 0:
b = abs(b)
c = abs(c)
a = str(a)
b = str(b)
c = str(c)
print("-" + b + "x-" + c + "y")
elif b < 0:
b = abs(b)
a = str(a)
b = str(b)
c = str(c)
print("-" + b + "x+" + c + "y")
elif c < 0:
c = abs(c)
a = str(a)
b = str(b)
c = str(c)
print(b + "x-" + c + "y")
else:
a = str(a)
b = str(b)
c = str(c)
print(b+"x+"+c+"y")
elif b==0:
if abs(c) == 1:
if c < 0:
c = abs(c)
a = str(a)
b = str(b)
c = str(c)
print(a + "-" + "y")
else:
a = str(a)
b = str(b)
c = str(c)
print(a + "+" + "y")
elif c < 0:
c = abs(c)
a = str(a)
b = str(b)
c = str(c)
print(a + "-" + c + "y")
else:
a = str(a)
b = str(b)
c = str(c)
print(a+"+"+c+"y")
elif c==0:
if abs(b) == 1:
if b < 0:
b = abs(b)
a = str(a)
b = str(b)
c = str(c)
print(a + "-" + "x")
else:
a = str(a)
b = str(b)
c = str(c)
print(a + "+" + "x")
elif b < 0:
b = abs(b)
a = str(a)
b = str(b)
c = str(c)
print(a + "-" + b + "x")
else:
a = str(a)
b = str(b)
c = str(c)
print(a+"+"+b+"x")
elif abs(c)==1 and abs(b)==1:
if b < 0 and c < 0:
b=abs(b)
c=abs(c)
a = str(a)
b = str(b)
c = str(c)
print(a + "-" + "x-" + "y")
elif b < 0:
b=abs(b)
a = str(a)
b = str(b)
c = str(c)
print(a + "-" + "x+" + "y")
elif c < 0:
c=abs(c)
a = str(a)
b = str(b)
c = str(c)
print(a + "+" + "x-" + "y")
else:
a = str(a)
b = str(b)
c = str(c)
print(a+"+"+"x+"+"y")
elif abs(b)==1:
if b<0:
b=abs(b)
if c<0:
a = str(a)
b = str(b)
c = str(c)
print(a + "-" + "x" + c + "y")
else:
a = str(a)
b = str(b)
c = str(c)
print(a + "-" + "x+" + c + "y")
else:
if c<0:
a = str(a)
b = str(b)
c = str(c)
print(a + "+" + "x" + c + "y")
else:
a = str(a)
b = str(b)
c = str(c)
print(a + "+" + "x+" + c + "y")
elif abs(c)==1:
if c<0:
c=abs(c)
a = str(a)
b = str(b)
c = str(c)
print(a+"+"+b+"x-"+"y")
else:
a = str(a)
b = str(b)
c = str(c)
print(a+"+"+b+"x+"+"y")
elif b<0 and c<0:
b=abs(b)
c=abs(c)
a = str(a)
b = str(b)
c = str(c)
print(a+"-"+b+"x-"+c+"y")
elif b<0:
b=abs(b)
a = str(a)
b = str(b)
c = str(c)
print(a+"-"+b+"x+"+c+"y")
elif c<0:
c=abs(c)
a = str(a)
b = str(b)
c = str(c)
print(a+"+"+b+"x-"+c+"y")
else:
a = str(a)
b = str(b)
c = str(c)
print(a+"+"+b+"x+"+c+"y")



