프로그램 명: identity-checker
제한시간: 1 초
You likely have seen that , and you may have seen that
.
But did you know that
? Would you believe that
?
That last one is false, but don’t just take our word for it; you should write a program that determines
whether an algebraic expression simplifies to zero (whenever it is defined).
입력
Each test case starts with an integer N, the number of tokens that describes a formula. The next N tokens describe a formula in reverse polish notation.
The notation works as follows. There is a stack that begins empty, and the following commands manipulate
the contents of the stack:
- “x” pushes the variable x to the stack.
- “sin”, “cos”, and “tan” replace the top element of the stack with its sin, cos, and tan, respectively.
- “+”, “-”, and “*” replace the top two elements of the stack (a on top, followed by b) with their sum (b + a), difference (b - a), and product (b * a), respectively.
You may assume that the input is valid, and results in a single item on the stack, which is the desired
expression. The length of a line will be at most 300 characters. Function arguments can contain functions,
so x sin sin is valid, but the recursion will not go any deeper than this.
출력
Print out a single line that contains “Identity” if the expression is always zero, and “Not an identity” otherwise (quotes added for clarity).
입출력 예
입력
15 x sin x sin * x cos x cos * + x * x -
출력
Identity
입력
16 x sin x cos * x sin x cos * + x x + sin -
출력
Identity
입력
24 x x + tan x x tan x tan * x * - * x tan x * - x tan x * -
출력
Identity
입력
10 x x + sin x cos - x cos -
출력
Not an identity
출처:standford/2011/
[질/답]
[제출 현황]
[푼 후(0)]