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