デジタルカードゲーム
3364 ワード
質問する
デジタルトランプゲームは、複数のデジタルトランプの中から最も高い数字を1枚選ぶゲームです.
しかし、ゲームのルールを守ってトランプをするのは、次のようなルールです.
1.数字が書かれたカードがNX Mの形で並んでいます.このとき、Nは行数、Mは列数を表す.
2.先に引くカードを含む行を選択します.
3.次に、選択した行の中で一番低い番号のカードを選択します.
4.したがって、最初に選択する行を選択する際には、最後に最も数値の高い行を選択するために、後でその行の中で最も数値の低い行を選択することを考慮する必要があります.
(例をスキップ)
アイデア
各行の列要素では、最小値を持つ要素を抽出し、各行で抽出された要素を抽出して比較し、最大の要素を選択します.
説明する
フィードバック
問題を解決するために2 D配列を動的に割り当てる必要はありませんが、最初に2 D配列を動的に割り当てる試みは時間を無駄にしました.
行の最高値を求めると、
その他時間:20分
デジタルトランプゲームは、複数のデジタルトランプの中から最も高い数字を1枚選ぶゲームです.
しかし、ゲームのルールを守ってトランプをするのは、次のようなルールです.
1.数字が書かれたカードがNX Mの形で並んでいます.このとき、Nは行数、Mは列数を表す.
2.先に引くカードを含む行を選択します.
3.次に、選択した行の中で一番低い番号のカードを選択します.
4.したがって、最初に選択する行を選択する際には、最後に最も数値の高い行を選択するために、後でその行の中で最も数値の低い行を選択することを考慮する必要があります.
(例をスキップ)
アイデア
各行の列要素では、最小値を持つ要素を抽出し、各行で抽出された要素を抽出して比較し、最大の要素を選択します.
説明する
n, m = map(int, input().split())
global_max = -1
for i in range(n):
row_arr = list(map(int, input().split()))
local_min = 999999
for j in range(m):
if(local_min > row_arr[j]):
local_min = row_arr[j]
if global_max < local_min:
global_max = local_min
print(global_max)
maxの初期値は-1、minの初期値は99999に設定されます.常に初期値を設定する場合は、問題で与えられた入力範囲を考慮してください.フィードバック
問題を解決するために2 D配列を動的に割り当てる必要はありませんが、最初に2 D配列を動的に割り当てる試みは時間を無駄にしました.
行の最高値を求めると、
row_arr
のインデックス変数が誤って与えられる(jが入るべき場所はi).論理はよく記述されていると思いますが、コードが予想通りに返されない場合は、必ずチェックしてください.Reference
この問題について(デジタルカードゲーム), 我々は、より多くの情報をここで見つけました https://velog.io/@2yunseong/숫자-카드-게임テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol