Problem 54
の編集
http://odz.sakura.ne.jp/projecteuler/index.php?Problem+54
[
トップ
] [
編集
|
差分
|
バックアップ
|
添付
|
リロード
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
]
-- 雛形とするページ --
(no template pages)
*[[Problem 54:http://projecteuler.net/problem=54]] 「ポーカーハンド」 [#zc3e317b] カードゲームのポーカーでは, 手札は5枚のカードからなりランク付けされている. 役を低い方から高い方へ順に並べると以下である. -''役無し(ハイカード)'': 一番値が大きいカード -''ワン・ペア'': 同じ値のカードが2枚 -''ツー・ペア'': 2つの異なる値のペア -''スリーカード'': 同じ値のカードが3枚 -''ストレート'': 5枚の連続する値のカード -''フラッシュ'': 全てのカードが同じスート (注: スートとはダイヤ・ハート・クラブ/スペードというカードの絵柄のこと) -''フルハウス'': スリーカードとペア -''フォーカード'': 同じ値のカードが4枚 -''ストレートフラッシュ'': ストレートかつフラッシュ -''ロイヤルフラッシュ'': 同じスートの10, J, Q, K, A ここでカードの値は小さい方から2, 3, 4, 5, 6, 7, 8, 9, 10, J, Q, K, Aである. (訳注:データ中で10は'T'と表される) もし2人のプレイヤーが同じ役の場合には, 役を構成する中で値が最も大きいカードによってランクが決まる: 例えば, 8のペアは5のペアより強い (下の例1を見よ). それでも同じランクの場合には (例えば, 両者ともQのペアの場合), 一番値が大きいカードによってランクが決まる (下の例4を見よ). 一番値が大きいカードが同じ場合には, 次に値が大きいカードが比べれられ, 以下同様にランクを決定する. 例: |CENTER:|CENTER:|CENTER:|CENTER:|c |''試合''|''プレイヤー1''|''プレイヤー2''|''勝者''| |''1''|5H 5C 6S 7S KD&br;5のペア|2C 3S 8S 8D TD&br;8のペア|プレイヤー2| |''2''|5D 8C 9S JS AC&br;役無し, A|2C 5C 7D 8S QH&br;役無し, Q|プレイヤー1| |''3''|2D 9C AS AH AC&br;Aのスリーカード|3D 6D 7D TD QD&br;ダイヤのフラッシュ|プレイヤー2| |''4''|4D 6S 9H QH QC&br;Qのペア, 9|3D 6D 7H QD QS&br;Qのペア, 7|プレイヤー1| |''5''|2H 2D 4C 4D 4S&br;4-2のフルハウス|3C 3D 3S 9S 9D&br;3-9のフルハウス|プレイヤー1| [[poker.txt:https://projecteuler.net/project/resources/p054_poker.txt]]には1000個のランダムな手札の組が含まれている. 各行は10枚のカードからなる (スペースで区切られている): 最初の5枚がプレイヤー1の手札であり, 残りの5枚がプレイヤー2の手札である. 以下のことを仮定してよい -全ての手札は正しい (使われない文字が出現しない. 同じカードは繰り返されない) -各プレイヤーの手札は特に決まった順に並んでいるわけではない -各勝負で勝敗は必ず決まる 1000回中プレイヤー1が勝つのは何回か? (訳注 : この問題に置いてA 2 3 4 5というストレートは考えなくてもよい)
タイムスタンプを変更しない
*[[Problem 54:http://projecteuler.net/problem=54]] 「ポーカーハンド」 [#zc3e317b] カードゲームのポーカーでは, 手札は5枚のカードからなりランク付けされている. 役を低い方から高い方へ順に並べると以下である. -''役無し(ハイカード)'': 一番値が大きいカード -''ワン・ペア'': 同じ値のカードが2枚 -''ツー・ペア'': 2つの異なる値のペア -''スリーカード'': 同じ値のカードが3枚 -''ストレート'': 5枚の連続する値のカード -''フラッシュ'': 全てのカードが同じスート (注: スートとはダイヤ・ハート・クラブ/スペードというカードの絵柄のこと) -''フルハウス'': スリーカードとペア -''フォーカード'': 同じ値のカードが4枚 -''ストレートフラッシュ'': ストレートかつフラッシュ -''ロイヤルフラッシュ'': 同じスートの10, J, Q, K, A ここでカードの値は小さい方から2, 3, 4, 5, 6, 7, 8, 9, 10, J, Q, K, Aである. (訳注:データ中で10は'T'と表される) もし2人のプレイヤーが同じ役の場合には, 役を構成する中で値が最も大きいカードによってランクが決まる: 例えば, 8のペアは5のペアより強い (下の例1を見よ). それでも同じランクの場合には (例えば, 両者ともQのペアの場合), 一番値が大きいカードによってランクが決まる (下の例4を見よ). 一番値が大きいカードが同じ場合には, 次に値が大きいカードが比べれられ, 以下同様にランクを決定する. 例: |CENTER:|CENTER:|CENTER:|CENTER:|c |''試合''|''プレイヤー1''|''プレイヤー2''|''勝者''| |''1''|5H 5C 6S 7S KD&br;5のペア|2C 3S 8S 8D TD&br;8のペア|プレイヤー2| |''2''|5D 8C 9S JS AC&br;役無し, A|2C 5C 7D 8S QH&br;役無し, Q|プレイヤー1| |''3''|2D 9C AS AH AC&br;Aのスリーカード|3D 6D 7D TD QD&br;ダイヤのフラッシュ|プレイヤー2| |''4''|4D 6S 9H QH QC&br;Qのペア, 9|3D 6D 7H QD QS&br;Qのペア, 7|プレイヤー1| |''5''|2H 2D 4C 4D 4S&br;4-2のフルハウス|3C 3D 3S 9S 9D&br;3-9のフルハウス|プレイヤー1| [[poker.txt:https://projecteuler.net/project/resources/p054_poker.txt]]には1000個のランダムな手札の組が含まれている. 各行は10枚のカードからなる (スペースで区切られている): 最初の5枚がプレイヤー1の手札であり, 残りの5枚がプレイヤー2の手札である. 以下のことを仮定してよい -全ての手札は正しい (使われない文字が出現しない. 同じカードは繰り返されない) -各プレイヤーの手札は特に決まった順に並んでいるわけではない -各勝負で勝敗は必ず決まる 1000回中プレイヤー1が勝つのは何回か? (訳注 : この問題に置いてA 2 3 4 5というストレートは考えなくてもよい)
テキスト整形のルールを表示する