QOJ.ac

QOJ

Süre Sınırı: 1 s Bellek Sınırı: 512 MB

#19601. Równe są równe

İstatistikler

Pan Simpson wstał lekko zmęczony. Rozpoczynał się kolejny dzień ciężkiej pracy. Na biurku w jego gabinecie czekał stos prac do sprawdzenia. Zawierały odpowiedzi uczniów na pytania z lekcji matematyki, ale wyglądały jak zwykłe plamy atramentu.

Jego ból głowy wynikał z „kreatywności” uczniów. Podali mu wiele sposobów odpowiedzi na każde zadanie. Ma własną odpowiedź na każde z nich, oczywiście poprawną i najlepszą z jego estetycznego punktu widzenia.

Niektórzy uczniowie zapisali wyrażenia algebraiczne równoważne oczekiwanej odpowiedzi, ale ich dosłowna postać znacznie różniła się od odpowiedzi pana Simpson. Inni zapisali wyrażenia nierównoważne jego odpowiedzi, lecz bardzo do niej podobne. Tylko nieliczne odpowiedzi były dokładnie takie same jak jego.

Jego obowiązkiem jest sprawdzić, czy każde wyrażenie jest matematycznie równoważne przygotowanej odpowiedzi. Ma to zapobiec oznaczeniu równoważnych wyrażeń jako „niepoprawne”, nawet jeśli nie odpowiadają jego estetycznym zasadom.

Poświęcił już pięć dni na sprawdzanie wyrażeń. Nagle wstał i krzyknął: „Mam dość! Muszę wezwać pomoc”.

Napisz program pomagający panu Simpson ocenić, czy każda odpowiedź jest równoważna „poprawnej”. Wyrażenia na pracach są wielomianami wielu zmiennych $a,b,\ldots,z$ o współczynnikach całkowitych, np. $(a+b^2)(a-b^2)$, $ax^2+2bx+c$ oraz $(x^2+5x+4)(x^2+5x+6)+1$.

Pan Simpson wprowadzi każde wyrażenie dokładnie tak, jak zapisano je na pracy. Gwarantuje, że wyrażenie jest ciągiem składników oddzielonych operatorami addytywnymi + i -, oznaczającym sumę składników z tymi operatorami, jeśli występują. Składnik jest zestawieniem czynników oznaczającym ich iloczyn. Czynnik to (a) nieujemna liczba całkowita zapisana ciągiem cyfr dziesiętnych, (b) symbol zmiennej, czyli jedna z małych liter od a do z, po którym może wystąpić symbol ^ i niezerowa cyfra oznaczająca potęgę zmiennej, albo (c) wyrażenie algebraiczne w nawiasach, zdefiniowane rekurencyjnie. Operator + lub - występuje tylko jako operator dwuargumentowy, a nie jednoargumentowy znak argumentu.

Mówi, że umieści jedną lub więcej spacji przed liczbą całkowitą, jeśli bezpośrednio poprzedza ją inna liczba całkowita lub cyfra po symbolu ^. Może też umieszczać spacje w różnych miejscach wyrażenia dla czytelności, ale nigdy między kolejnymi cyframi jednej liczby. Wyrażenia nie są zbyt skomplikowane: po zastąpieniu znaków - znakami + żadne wyrażenie nie będzie zawierać zmiennej podniesionej do $10$-tej potęgi ani współczynnika większego niż miliard, nawet po pełnym rozwinięciu do sumy iloczynów współczynników i potęg zmiennych.

Wejście

Wejście jest ciągiem bloków wierszy. Blok zawiera wiersze, każdy z jednym wyrażeniem, oraz wiersz kończący. Po ostatnim bloku występuje jeszcze jeden wiersz kończący. Wiersz kończący zawiera wyłącznie znak kropki.

Pierwsze wyrażenie w bloku przygotował pan Simpson; wszystkie kolejne są odpowiedziami uczniów. Wyrażenie składa się z małych liter, cyfr, operatorów +, -, ^, nawiasów (, ) i spacji. Wiersz z wyrażeniem ma najwyżej 80 znaków.

Wyjście

Dla każdej odpowiedzi ucznia wypisz wiersz zawierający wyłącznie yes lub no, zależnie od tego, czy jest matematycznie równoważna oczekiwanej odpowiedzi. Po każdym bloku wypisz wiersz zawierający wyłącznie kropkę.

Przykład

Wejście 1

a+b+c
(a+b)+c
a-(b-c)+2
.
4ab
(a - b)(0-b+a) - 1a ^ 2 - b ^ 2
2 b 2 a
.
108 a
2 2 3 3 3 a
4 a^1 27
.
.

Wyjście 1

yes
no
.
no
yes
.
yes
yes
.

Discussions

About Discussions

The discussion section is only for posting: General Discussions (problem-solving strategies, alternative approaches), and Off-topic conversations.

This is NOT for reporting issues! If you want to report bugs or errors, please use the Issues section below.

Open Discussions 0
No discussions in this category.

Issues

About Issues

If you find any issues with the problem (statement, scoring, time/memory limits, test cases, etc.), you may submit an issue here. A problem moderator will review your issue.

Guidelines:

  1. This is not a place to publish discussions, editorials, or requests to debug your code. Issues are only visible to you and problem moderators.
  2. Do not submit duplicated issues.
  3. Issues must be filed in English or Chinese only.
Active Issues 0
No issues in this category.
Closed/Resolved Issues 0
No issues in this category.