ポスターの貼り付け作業 D(Beta)編(paizaランク B 相当)
問題にチャレンジして、ユーザー同士で解答を教え合ったり、コードを公開してみよう!
問題
下記の問題をプログラミングしてみよう!
パイザさんが管理をしている公園の池の周りには、N 本の木が植えられています。それぞれの木を、時計回りに木 i (1 ≦ i ≦ N) と呼ぶことにします。
パイザさんは、 N 本の木にポスターを貼り付ける作業を任されました。普通に貼り付けても面白くないので、貼り付ける順番にルールを決めることにしました。
木 A (1 ≦ A ≦ N) からポスターを貼り付け始めます。池を時計回り、もしくは反時計回りに回って、ポスターを貼り付けていない木だけを数えて B 本目の木にポスターを貼り付ける。ただし、池を周回して同じ木に戻ってきた場合は続けて数えます。ポスターが貼り付けられていない木がなくなるまで繰り返します。以上のルールを適用したとき、木にポスターを貼り付ける順序を出力してください。
入力例 1 の場合、図のような順序で木にポスターを貼りつけます。

1. 始めに木 2 にポスターを貼り付ける
2. 時計回りに、ポスターを貼り付けていない木を辿ると 木 3, 木 4, 木 5 となるので、 3 つ目である木 5 にポスターを貼り付ける
3. 時計回りに、ポスターを貼り付けていない木を辿ると 木 1, 木 3, 木 4 となるので、 3 つ目である木 4 にポスターを貼り付ける
4. 時計回りに、ポスターを貼り付けていない木を辿ると 木 1, 木 3, 木 1 となるので、 3 つ目である木 1 にポスターを貼り付ける
5. 残りの木が 1 つとなったので、最後に残った木 3 にポスターを貼り付ける。
- 入力される値
-
入力は以下のフォーマットで与えられます。
N
A
S
B
1 行目には 1 つの整数 N が与えられます。
2 行目には 1 つの整数 A が与えられます。
3 行目には 1 つの文字列 S が与えられます。 S が "CW" の時は時計回り、"CCW" の時は反時計回りにポスターを貼り付けます。
4 行目には 1 つの整数 B が与えられます。
入力は 4 行となり、末尾に改行が 1 つ入ります。
入力値最終行の末尾に改行が1つ入ります。
文字列は標準入力から渡されます。
標準入力からの値取得方法はこちらをご確認ください
- 期待する出力
答えを 1 行で出力してください。
ポスターを貼り付ける順序を表す数列を、半角スペース区切りで出力してください。
例えば、木 1 → 木 3 → 木 2 の順番であれば
1 3 2
と出力してください。
最後は改行し、余計な文字、空行を含んではいけません。
- 条件
-
すべてのテストケースにおいて、以下の条件をみたします。
・1 ≦ N ≦ 100
・1 ≦ A ≦ N
・S は "CW" か "CCW"
・1 ≦ B ≦ N
問題一覧へ戻る