fc2ブログ



じゃんけん

2010.01.21 19:52  パソコン甲子園 2009

パソコン甲子園2009 問題01 じゃんけん


5人がじゃんけんをしたときのそれぞれの手(グー、チョキ、パーをそれぞれ1~3で表します)を入力し、それぞれの人の勝ち・負け・引き分け(それぞれ1~3で表します)を判定する問題です。

様々なアルゴリズムが考えられる興味深い問題の1つです。ここでは、2重ループを使ったアルゴリズムで解きました。各人について他の4人に対する勝ち・負けの数をそれぞれ数え、「勝ちが1つ以上でかつ負けが0」の場合は勝ち(1)、「負けが1つ以上でかつ勝ちが0」の場合は負け(2)、その他の場合は引き分け(3)、と判定することができます。2人に対する勝敗判定については、1(グー)→ 2 (チョキ)→ 3(パー)→ 1(グー)・・・という関係があるので、A君の手をa、B君の手をbとすれば、a%3 が b-1 に等しいとき、A君がB君に勝ったと判定することができます。ここで、a%3はaを3で割った余りを示します。

データセットごとに処理しなければならない入力については、一人目の手を読み込みそれが0でない場合処理を行うという繰り返し構造とし、処理の最初に残りの4人分の手を読み込むとう手順で記述すると良いでしょう。

スポンサーサイト



テーマ : プログラミング - ジャンル : コンピュータ

| コメント(0) | トラックバック(0) | ↑ページトップ |

この記事へのコメント

コメントを書く


管理人にのみ表示

↑ページトップ

この記事へのトラックバック

この記事にトラックバックする(FC2ブログユーザー)

↑ページトップ