問題一覧 > 通常問題

No.438 Cwwプログラミング入門

レベル : / 実行時間制限 : 1ケース 2.000秒 / メモリ制限 : 512 MB / スペシャルジャッジ問題 (複数の解が存在する可能性があります)
タグ : / 解いたユーザー数 77
作問者 : btkbtk / テスター : 🍡yurahuna🍡yurahuna
6 ProblemId : 1100 / 出題時の順位表 / 自分の提出
問題文最終更新日: 2016-11-04 00:55:21

問題文

Cwwというプログラミング言語があります.
Cwwのソースコードは以下の条件を満たすとき,実行可能となります.

・ ソースコードは 'c','w','C','W' の4種類の文字のみからなる.
・ ソースコードは1行の文字列からなる(最後に改行が必要).

Cwwの実行可能なソースコード(文字列)を $S$ とします.
Cwwの実行プログラムは $S$ を入力として以下のように動作します.

(参考:Wikipedia スタック)
・ Cwwの実行プログラムはスタックをもつ.スタックの初期状態の要素数は $0$ である.
・ $S$ の $i$ 文字目を $S_i$ とすると,実行プログラムは $S_1,S_2,,,$ と左から順に読み込む.
・ プログラムが文字 'c' を読み込んだとき,スタックの一番上に整数 $x$ が追加される.
・ プログラムが文字 'w' を読み込んだとき,スタックの一番上に整数 $y$ が追加される.
・ スタックの上から $1$ 番目の要素を $a$ ,スタックの上から $2$ 番目の要素を $b$ とすると,プログラムが文字 'C' を読み込んだとき,スタックから $a,b$ を取り出しスタックの一番上に $a + b$ を追加する.
・ スタックの上から $1$ 番目の要素を $a$ ,スタックの上から $2$ 番目の要素を $b$ とすると,プログラムが文字 'W' を読み込んだとき,スタックから $a,b$ を取り出しスタックの一番上に $a - b$ を追加する.
・ プログラムが読み込む文字列がなくなったとき,プログラムはスタックの一番上の整数 $z$ を取り出し, $z$ を出力して動作を終了する.
・ プログラムがスタックから要素を取り出すとき,スタックの要素が空だった場合はプログラムはエラー(WA)となり動作を終了します.'C' or 'W' を読み込むときはスタックの要素を2つ取り出すことに注意してください.

さて,Cww初心者のcwwさんは,Cwwである整数 $z$ を出力するプログラムを作成しています.
整数 $x,y,z$ が与えられるので,cwwさんのために $z$ を出力するCwwのソースコードを一つ作成してください.
ただし,cwwさんは初心者なので長すぎるソースコードは読めません.
なので,出力するソースコードは改行を除いて $10000$ 文字以内で作成する必要があります.
どのようにしても $10000$ 文字以内で $z$ を出力することができないときは,"NO"という文字列を1行で出力してください.

入力

$x$ $y$ $z$

$0 \le x,y,z \le 100000000$

出力

$S$

$S$ はCwwの$z$を出力するソースコードで,$1 \le |S| \le 10000$ である必要があります.
$z$ を出力するソースコードが構成できないときは ”NO” を 1 行で出力してください.
”NO” の時以外に $S$ に ’c’,’w’,’C’,’W’以外の文字を出力するとエラーになります.

最後に改行してください。

サンプル

サンプル1
入力
1 2 3
出力
cwC

ソースコードが"cwC"のとき,プログラムは以下のように動作します.
[ ] ・・・スタック
'c' : スタックに $x=1$ を追加 [1]
'w' : スタックに $y=2$ を追加 [12]
'C' : スタックから, $2,1$ を取り出し, $2+1 = 3$ を追加 [3]
よって,ソースコード "cwC" はスタックに残った 3 を出力します.

"wcC" や "wwCcWccWW" なども正解です.

サンプル2
入力
2 3 7
出力
cwwCwCW

ソースコードが"cwwCwCW"のとき,プログラムは以下のように動作します.
[ ] ・・・スタック
'c' : スタックに $x=2$ を追加 [2]
'w' : スタックに $y=3$ を追加 [23]
'w' : スタックに $y=3$ を追加 [233]
'C' : スタックから, $3,3$ を取り出し, $3+3 = 6$ を追加 [26]
'w' : スタックに $y=3$ を追加 [263]
'C' : スタックから, $3,6$ を取り出し, $3+6 = 9$ を追加 [29]
'W' : スタックから, $9,2$ を取り出し, $9-2 = 7$ を追加 [7]
よって,ソースコード "cwwCwCW" はスタックに残った 7 を出力します.

サンプル3
入力
42 72 88
出力
NO

制約の元では正解のソースコードを作成することができないので,
代わりに "NO"を出力します.

提出するには、Twitter 、GitHub、 Googleもしくは右上の雲マークをクリックしてアカウントを作成してください。