増井技術士事務所 今週のアルゴリズムの@masuipeoさんからの問題

増井技術士事務所
今週のアルゴリズムの@masuipeo
今週のお題:取られたら取り返す!
スポーツでよく発生する「デュース」。点数の推移を考えよう!
![]() |
・正解すると、CodeIQ MAGAZINEにニックネームが掲載されます! |
---|---|
![]() |
この問題は、自動採点です。テストケースを全てPASSすると、正解となります。 |
![]() |
挑戦言語は複数選択可能です(挑戦ページで選択できる言語に限ります)。 |
![]() |
何度でも挑戦できます。 ●第一線の企業・エージェントがあなたの解答を見てスカウト! |
CodeIQ運営事務局からのお願いと連絡事項
- 解答送信の有無を問わず、模範解答のネタばれにつながるような各種行為、別人による不正解答は、固くお断り申し上げます。
- 解答は個人が特定されない状態でリクルーティング活動等を行う企業に公開されます。また、企業は個人を特定できない状態で解答を見てメッセージを送る場合があります。予めご了承ください。
- 上記以外の目的で、あなたのご登録情報を企業に公開することはいたしません。ご安心ください。
- 評価フィードバックが届いたら、ご登録のメールアドレスにお知らせします。
増井技術士事務所 今週のアルゴリズムの@masuipeoさんからの問題
卓球では11点先取、バレーボールでは25点先取で1セットを取るようなルールがあります。
ただ、この得点よりも1点少ない得点以上の得点で同点となると「デュース」と呼ばれることがあり、
その後は2点差を付けるまで続けられます。
(卓球やバドミントンにはデュースという言葉はありませんが、同様に進められます。)
A と B がn 点先取の試合を行ったとき、それぞれの点数が a 対 b になるまでの点数の推移を考えます。
例えば、n = 3, a = 4, b = 2 のとき、点数の推移は以下の6通りがあります。
(下記の記号は点数を取った側を表すものとします。)
(1) A -> A -> B -> B -> A -> A
(2) A -> B -> A -> B -> A -> A
(3) A -> B -> B -> A -> A -> A
(4) B -> A -> A -> B -> A -> A
(5) B -> A -> B -> A -> A -> A
(6) B -> B -> A -> A -> A -> A
このとき、以下のように点数が推移することはありません。
(途中で3点を先取してしまい、セットが終了するため)
A -> A -> B -> A -> B -> A
標準入力から n, a, b がスペース区切りで与えられるとき、点数の推移が何通りあるかを求め、
標準出力に出力してください。
なお、n, a, b はいずれも0以上25以下の整数とします。
※問題文を修正いたしました(2017/04/28 16:40)
【入出力サンプル】
標準入力
標準出力
【解答方法】
■挑戦言語は下記のプログラム言語選択で選択可能なものであれば何でもOKです!
1)自分の書いたプログラム言語を選択
2)解答欄にソースコードを記入
3)送信前に「提出前に確認」ボタンをクリック(構文エラーがないかどうかチェックできます)
4)「解答コードは正常に実行されました」というメッセージを確認の上、「解答を送信」ボタンで解答してください。
■この問題にはテストケースが5つ用意されています。すべてに通れば正解です!
【採点について】
・採点は「ideone」を使ってプログラムを実行し、標準入力および標準出力のテストケースと照合して正誤を判定します
・各言語の標準入力と標準出力はこちらを参考にしてください
・標準入力の最終行の改行はあり/なし両方に対応してください
※なおCodeIQで使用しているideoneは企業版のため、webで公開されているコンシューマー版ideoneとは
対応言語・バージョン・挙動が異なる場合があります。
企業版ideoneの対応バージョンは、「提出前チェック」の結果とともに表示されます。
![]() |
挑戦言語は複数選択可能です(挑戦ページで選択できる言語に限ります)。 |
---|---|
![]() |
何度でも挑戦できます。 ●第一線の企業・エージェントがあなたの解答を見てスカウト! |
CodeIQ運営事務局からのお願いと連絡事項
- 解答送信の有無を問わず、模範解答のネタばれにつながるような各種行為、別人による不正解答は、固くお断り申し上げます。
- 解答は個人が特定されない状態でリクルーティング活動等を行う企業に公開されます。また、企業は個人を特定できない状態で解答を見てメッセージを送る場合があります。予めご了承ください。
- 上記以外の目的で、あなたのご登録情報を企業に公開することはいたしません。ご安心ください。
- 評価フィードバックが届いたら、ご登録のメールアドレスにお知らせします。