1. paizaラーニングトップ
  2. レベルアップ問題集
  3. Bランク・スキルチェック過去問題セット(言語選択)
  4. 問題一覧 D(Beta)編
  5. ポスターの貼り付け作業 D(Beta)編

Bランク・スキルチェック過去問題セットのサムネイル
ポスターの貼り付け作業 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

    入力例1

    5
    2
    CW
    3

    出力例1

    2 5 4 1 3

    入力例2

    4
    1
    CCW
    2

    出力例2

    1 3 4 2

    問題一覧へ戻る

    ページの先頭へ戻る