AOJ2401 Equation (実装メモ)
問題リンク
http://judge.u-aizu.ac.jp/onlinejudge/description.jsp?id=2401
最大11個の変数が含まれる式が与えられるので, 常に式が成立するかチェックする.
常に, の部分は各変数の0/1をbit全探索する. 式については気合で構文解析をする.
AND, OR, IMP等の二項演算はvariableが演算子の前後にくるため, 処理が容易.
一方で, NOT等の前置演算子をどう処理するかが問題.
NOTはvariableの後ろか, 左括弧の後ろに来る. よって, 左括弧が取り除かれるときやvariableが見つかった時にNOTを処理すればよさそう.
IMPの記号('->')とNOTの記号('-')が部分的に一致しているので注意する. (1WA)