アルゴリズムビンゴ問題
14575 ワード
トラブルシューティングプロセス
難点
数字を消して実現できるはずですが、何行完成したのか、どのようにカウントダウンするのか分かりません.
if data[0][0]==-1 && data[0][1]=-1 ...data[0][4]=-1
呼ばれている数字を-1に変えると、上のような繰り返し文を5回+縦5回+対角線を2回繰り返すといいのですが、あまりにも非効率的なようです.->三重複文を使用して、1つの数字がビンゴであるかどうかを確認します.
コード#コード#
arr=[]
numList=[]
result=0
bingo=0
for _ in range(5):
arr.append(list(map(int,input().split())))
for _ in range(5):
numList+=list(map(int,input().split()))
for k in range(len(numList)):
for i in range(5):
for j in range(5):
bingo=0
if arr[i][j]==numList[k]:
arr[i][j]=-1
result+=1
for m in range(5):
if arr[m][0]==-1 and arr[m][1]==-1 and arr[m][2]==-1 and arr[m][3]==-1 and arr[m][4]==-1:
bingo+=1
for m in range(5):
if arr[0][m]==-1 and arr[1][m]==-1 and arr[2][m]==-1 and arr[3][m]==-1 and arr[4][m]==-1:
bingo+=1
if arr[0][0]==-1 and arr[1][1]==-1 and arr[2][2]==-1 and arr[3][3]==-1 and arr[4][4]==-1:
bingo+=1
if arr[0][4]==-1 and arr[1][3]==-1 and arr[2][2]==-1 and arr[3][1]==-1 and arr[4][0]==-1:
bingo+=1
if bingo>=3:
print(result)
exit()
Reference
この問題について(アルゴリズムビンゴ問題), 我々は、より多くの情報をここで見つけました https://velog.io/@eunyoung23/알고리즘-빙고-문제テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol