ガジェット通信 GetNews

見たことのないものを見に行こう
「ジャスティス・リーグ」特集サイト

第146回「今週のアルゴリズム:目標を達成する手順は何通り?」正解者発表

DATE:
  • ガジェット通信 GetNewsを≫

「今週のアルゴリズム」とは

「今週のアルゴリズム」問題は、毎週火曜日にちょっとした問題を出題し、正解するとニックネームを掲載していくというシリーズ問題です。そして、正解した方全員に「たいへんよくできました」バッジも付与されます。

第146回は「今週のアルゴリズム:目標を達成する手順は何通り?」の問題です。

問題文「第146回 今週のお題:目標を達成する手順は何通り?」

こども向けのプログラミング教育が話題です。
ソースコードを書くというよりは、論理的な思考を養うことが求められ、小学校低学年のこどもにもイメージしやすい例が使われています。

例えば、横に m マス、縦に n マスの格子状のマスを左上から右下に移動するための手順を考える、という例があります。
使用可能な操作は「前に進む」「左を向く」「右を向く」の3つです。
このマスの外側には移動できず、最短の経路である必要はありません。

なお、右下のマスに着くとその時点で終了とします。
(つまり、右下のマスでは「左を向く」「右を向く」の操作はできません。)

m = 3, n = 2で、右向きに開始するとき、以下の4回の操作で左図のように移動できます。
1. 前に進む
2. 前に進む
3. 右を向く
4. 前に進む

イメージ

では、左上から右下に5回の操作で移動させるにはどうすればよいでしょうか?
例えば、左上の位置で最初の向きを下向きの状態にしておけば、以下の5回の操作で右図のように移動できます。
1. 左を向く
2. 前に進む
3. 前に進む
4. 右を向く
5. 前に進む

標準入力から m、n、操作する回数がスペース区切りで与えられます。
このときの操作方法が何通りあるかを求め、標準出力に出力してください。
例えば、 m = 3, n = 2のとき、5回の操作で移動する方法は上記の右図の他に4通りあり、合計5通りですので、以下のように出力します。

なお、入力として用いられる値は、出力が32bit整数の範囲内となるものとします。

【入出力サンプル】
標準入力
3 2 5

標準出力
5

正解者

おめでとうございます!正解者のみなさんです。(新着順)

fukayanegi様
パイソン様
BlueBird様
angel様
haruya様
えちごやえちぜん様
みけCAT様
akinori様
touran7様
hotcake_box様
amyu様
Leonardone @ NEETSDKASU様
ライチの実様
Brln様
suno_tf様
ThomasTT様
鷲津神丹義郎様
distancedsilhouette様
エセエンジニア様
KAZAMAI_NaruTo様
shoek様
gmk様
unsafe様
見習いコーダー01様
ginneko様
tetro様
rw0020様
hihi123様
ばいおねす様
todaemon様
Azicore様
Mattsun様
おじけん様
C_4様
kotakun様
rotary-o様
R修行中様
scherzo2様
HHeLiBeX様
aiz様
i-don様
14番様
a992571様
みかんず様
toku-mori様
ぴよぴよあとむ様
adati_rom様
uni様
strauss様
Hira0404様
tnakao様
Keck様
カニ戯(ry様
act727様
chat様
Kilisame様
myanta様
smz8110様
L.star様
ryagi様
kenj4様
Yasu.Hara.様
ciel様 

カテゴリー : デジタル・IT タグ :
CodeIQ MAGAZINEの記事一覧をみる ▶
  • 誤字を発見した方はこちらからご連絡ください。
  • ガジェット通信編集部への情報提供はこちらから
  • 記事内の筆者見解は明示のない限りガジェット通信を代表するものではありません。