情報領域演習第一:P演習
電気通信大学情報理工学域I類 (情報系)
2024年度後学期
[一覧に戻る]
課題B4
問題
殺人事件の捜査を勝手に手伝っているコバン君.容疑者としてA, B, Cの3人が浮かび上がった.しかし,3人ともアリバイがあるという.ここで,鑑識から殺害時刻が報告された.これで,本当にアリバイがあったのは誰なのか分かった……か?
アリバイがなく,コバン君が犯人だと断定したのが誰なのか,当ててみよ.
入力の仕様に書かれるような整数 x, a1, a2, b1, b2, c1, c2 が与えられたときに,出力の仕様に書かれるような文字を出力するメソッド coban(x, a1, a2, b1, b2, c1, c2) を作成せよ.
入力仕様
- 入力として与えられる整数は1以上24以下である.
- 整数 x は 殺害時刻 [時] を表す.
- 整数 a1, a2 は容疑者Aがアリバイを主張する時間帯を表し,それはa1 [時] から a2 [時] の間である.a1 ≦ a2 となっている.
- a1 ≦ x ≦ a2 であるとき,容疑者Aのアリバイは成立し,そうでないとき,アリバイは成立しない.
- b1, b2 は容疑者Bがアリバイを主張する時間帯を表し,c1, c2は容疑者Cがアリバイを主張する時間帯である.意味は容疑者Aの場合と同じである.
- アリバイの成立しない容疑者が2人以上存在することもありうる.また,0人の場合もある.
出力仕様
- 出力は puts または printf を使って行い,出力の後に改行する.
- コバン君が容疑者Aを犯人であると断定するとき「A」,容疑者Bを犯人であると断定するとき「B」,容疑者Cを犯人であると断定するとき「C」,犯人を断定できない場合は「D」と出力する.
- コバン君が犯人だと断定できるのは,アリバイの成立しない容疑者が1人の場合だけである.
例
irb> coban 4, 2, 5, 3, 6, 5, 8
C
=> nil
irb> coban 10, 10, 14, 11, 20, 20, 21
D
=> nil
irb> coban 8, 9, 15, 5, 10, 7, 8
A
=> nil
irb> coban 20, 3, 8, 10, 15, 9, 15
D
=> nil
irb> coban 18, 12, 20, 9, 16, 15, 21
B
=> nil
irb> coban 15, 1, 24, 8, 18, 12, 17
D
=> nil
提出法
CEDにて,プログラムを作成したディレクトリで以下を実行せよ.
% /ced-home/staff/enshu1p/checker_b4.rb ファイル名
「Submission successfully completed.」と表示されれば,提出が完了したことになる.
[一覧に戻る]