No.8126 Brainfxxk easy
レベル : / 実行時間制限 : 1ケース 2.000秒 / メモリ制限
: 1024 MB / 標準ジャッジ問題
タグ : / 解いたユーザー数 66
作問者 :
UT0911
/ テスター :
Cafe1942
タグ : / 解いたユーザー数 66
作問者 :
UT0911
/ テスター :
Cafe1942
問題文最終更新日: 2026-03-31 23:06:21
問題文
難解プログラミング言語の $1$ つにBrainfxxk(xx=uc)という言語があります。この言語は+、-、>、
<、.、,、[、]の $8$ 種類の命令からできています。
ゆーてぃーさんは、 $8$ 種類の命令のうち、+、-、>、
<の $4$ 種類の命令を再現することにしました。
それぞれの命令の内容は以下の通りです。
-
+: ポインタの番号のデータの値を $1$ 加算する(ポインタが指すデータの値を $1$ 加算する) -
-: ポインタの番号のデータの値を $1$ 減算する(ポインタが指すデータの値を $1$ 減算する) -
>: ポインタの番号を $1$ 加算する(ポインタを前に $1$ つ移動する) -
<: ポインタの番号を $1$ 減算する(ポインタを後ろに $1$ つ移動する)
データとデータの値は以下のように定めます。
- $N$ 個のデータが $1$ 列に置かれていて、それぞれのデータは先頭から $1$ 番, $2$ 番,$ \cdots$, $N$ 番となっている。
- 各データの値は最初 $0$ で初期化されている。
- ポインタの番号は最初、 $1$ である。
データの数とコードの文字列が与えられるので、コードを実行した後の各データの値を出力してください。
ただし実行途中にポインタが、存在しないデータの番号に $1$ 度でもなった場合は
errorと出力してください。
制約
- $1 \leq N \leq 10 $
- $1 \leq |S|\leq 100$
- 文字列 $S$ は
+、-、>、<からなる。
入力
$N$
$S$
$1$ 行目にはデータの数を表す$N$が与えられる。
$2$ 行目にはコードの文字列である$S$が与えられる。
出力
ポインタが、存在しないデータの番号に $1$ 度でもなった場合はerrorと出力してください。
そうでない場合、各データの値を空白区切りで $1$ 行で出力してください。
最後に改行をして下さい。
サンプル
サンプル1
入力
3 +++>--
出力
3 -2 0
ポインタが指している $1$ 番目のデータに $3$ 回加算し、ポインタが $1$ つ後ろに移動し、 ポインタが指している2番目のデータに $2$ 回減算します。
サンプル2
入力
3 <>>>>
出力
error
ポインタが $1$ つ前に移動し、存在しないデータを指しているためerrorを出力します。
$1$ 文字目のerrorを無視してもその後にポインタが $4$ つ後ろに移動し、存在しないデータを指しています。
サンプル3
入力
1 +-+-+-+-+-
出力
0
提出するには、Twitter 、GitHub、 Googleもしくは右上の雲マークをクリックしてアカウントを作成してください。