0

このフォーラムの誰かがACMプログラミングの問題を解決しようとしましたかhttp://acm.mipt.ru/judge/problems.pl?browse=yes&problem=024?これはACMMIPTのより単純な問題の1つであり、目標は+、-、*および括弧で構成される式を評価することです。明らかに単純であるにもかかわらず、テストケース式の1つに問題に記述されていない演算子が含まれているため、ソリューションを受け入れることができませんでした。除算('/')のサポートも追加しましたが、それも役に立ちませんでした。他にどのようなオペレーターをサポートする必要があるかについてのアイデアはありますか?参考までに、私のプログラムは、スペースが問題にならないように、処理する前に入力からすべての空白を削除します。問題に記載されていないが、世話をする必要があるものはありますか?

4

1 に答える 1

0

ruby の文字列や文字の扱いに悩まされています。

curr_ch = @input[i]

取得した入力に対して、入力のインデックスにある文字の ASCII コードを整数で返しiます。

curr_ch == '('

たとえば、その整数を string と比較します"("が、もちろん失敗します。また、文字列が期待される場所に整数を渡すため、正規表現の一致は失敗します。

の出現箇所をすべて置き換えると、動作するように見えるプログラムが得られます (これは、私some_var = @input[some_index]some_var = @input[some_index...some_index+1]与えたいくつかのテスト入力で動作します)。おそらく、実際に ruby​​ の癖を知っている人が、より良い修正を提供してくれるでしょう。

于 2012-09-25T13:57:44.440 に答える