1. paizaラーニングトップ
  2. レベルアップ問題集
  3. Sランクレベルアップメニュー(言語選択)
  4. 問題一覧 COBOL(Beta)編
  5. プログラムの実行 COBOL(Beta)編

Sランクレベルアップメニューのサムネイル
プログラムの実行 COBOL(Beta)編(paizaランク S 相当)

問題にチャレンジして、ユーザー同士で解答を教え合ったり、コードを公開してみよう!

問題

下記の問題をプログラミングしてみよう!

プログラムを表す文字列 s が与えられます。この文字列を実行した結果、各変数の値がどうなっているかを出力してください。

プログラムは以下のルールで与えられます。

・ プログラム全体は、「代入文;代入文; ... ;代入文;」という形式で表されます。
・ 代入は「変数=値」という形式でおこなわれ、このとき変数に値が代入された上で、その値がこの代入文の評価値となります。代入は右結合であり、
たとえば「a=b=1」は「a=(b=1)」と解釈されます。
・ 値とは以下のいずれかです。
1. 整数
2. 変数の値 (ただし、その変数が以前に出現していない場合は、その変数の値は 0 とみなします)
3. 代入文の評価値
・ 英小文字からなる連続する文字列は整数型の変数を表します。

たとえば、プログラム 'a=1;c=b=a;a=21;' が与えられた場合、このプログラムを実行すると、変数 a は 21、変数 b は 1、変数 c は 1 となります。

入力される値

s


・ 1 行目に、プログラムを表す文字列 s が与えられます。


入力値最終行の末尾に改行が1つ入ります。
文字列は標準入力から渡されます。 標準入力からの値取得方法はこちらをご確認ください
期待する出力

プログラムを実行し、各変数の値の整数のみを、変数名の昇順で改行区切りで出力してください。

出力の最後に改行を入れ、余計な文字、空行を含んではいけません。

条件

すべてのテストケースにおいて、以下の条件を満たします。

・ 1 ≦ |s| ≦ 30000 = 3 × 10^4 (|s| は文字列 s の長さ)
・ s に出現する変数名の長さは 1 以上 100 以下
・ s に出現する整数は 1 以上 1000000000 以下

入力例1

a=1;c=b=a;a=21;

出力例1

21
1
1

入力例2

x=1;y=2;tmp=x;x=y;y=tmp;

出力例2

1
2
1

問題一覧へ戻る

ページの先頭へ戻る