Розв’язок задачі з програмування Різниця
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")