[白俊]14696絵柄ゲームPython
絵遊び
質問する
二人の子供A,Bは絵を描いている.絵遊びのルールは以下の通りです.二人の子供は最初は何枚もの絵を持っていて、輪ごとに自分の絵を1枚ずつ出しています.絵には星(★)、円(●)、四角(■)、三角形(▲)、4つの形のうちの1つまたは複数の形があります.二人の子供の絵の中でどちらが強いかは、以下のルールに従います.
上のルールでは、Aの絵には星があり、Bの絵には星がないので、勝者はAです.上図が第1ラウンドの場合、第2、3、4、5ラウンドの場合は下表のように、第2、3、4ラウンドの勝者はそれぞれB、B、A、第5ラウンドは引き分けとなり、Dで示す.
第1ラウンドAの絵の具Bの絵の具結果は1★●■●A 2■●●●●●B 3●■▲B 4●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●
星、円、四角形、三角形はそれぞれ数字4、3、2、1で表されます.例えば、第1ラウンドでは、子供Aが出した絵★は4で表現でき、子供Bが出した絵●▲は3 3 3 2 1で表現できる.
ラウンド数Nと2人の子供が順番にカードを出すカードの情報を得た場合は、ラウンドごとにカードゲームの結果を求めるプログラムを作成してください.
入力
標準入力には、次の情報が表示されます.1行目には、ピクチャゲームの総ラウンド数を示す自然数Nが与えられる.Nは1以上1000以下である.次の行は、第1ラウンドで児童Aが発行した絵に現れる画像の総数aを与える.aは1以上100以下である.次に出現するa個の整数は、子供Aが出た絵を表し、それぞれ4、3、2、1の値である.なお、4、3、2、1の順には与えられない場合がある.次の行は、第1ラウンドの子供Bの絵に現れる図の総数bを示す.bも1以上100以下です.次に現れるb個の整数は、子供Bが出す絵を表し、4、3、2、1の値でもある.4,3,2,1の順に与えられない場合もあるので注意してください.次の2行は、第2ラウンドの子供A、Bの絵を同じように表現します.上記のように、2人の子供が発行する1ラウンド当たりの絵の具の情報は2行に表示され、Nラウンドの絵の具の情報は合計2 N行に順次与えられる.
しゅつりょく
標準出力、共出力N行.出力されたi(1≦i≦N)行には1ワードが正確に出力され、出力されたワードはA,B,Dのうちの1ワードであり、逆iの結果を表す.各ラウンドの結果は、Aは勝者、A、Bは勝者、Bは引き分け、Dである.
解決策
round = int(input())
for i in range(round) :
A = list(map(int,input().split()))[1:]
B = list(map(int,input().split()))[1:]
lstA = [A.count(4),A.count(3),A.count(2),A.count(1)]
lstB = [B.count(4),B.count(3),B.count(2),B.count(1)]
if lstA[0] > lstB[0] :
print('A')
elif lstA[0] <lstB[0] :
print('B')
elif lstA[1] > lstB[1] :
print('A')
elif lstB[1] > lstA[1] :
print('B')
elif lstA[2] > lstB[2] :
print('A')
elif lstB[2] > lstA[2] :
print('B')
elif lstA[3] > lstB[3] :
print('A')
elif lstB[3] > lstA[3] :
print('B')
else :
print('D')
Reference
この問題について([白俊]14696絵柄ゲームPython), 我々は、より多くの情報をここで見つけました https://velog.io/@holawan/백준-14696딱지놀이-pythonテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol