פתרון לConcentration Game
מה רוצים בתרגיל
משחק הזכרון-מקבלים מערך באורך 2N שמכיל כל מספר מ-1 עד N פעמיים בסדר מבולגן כאשר כל פעם צריך להדפיס 2 מקומים במערך
במידה ושני הערכים במיקומים אלה שווים המחשב מחזיר "match" במידה ולא המחשב מציג את הערכים בתאים אלו.
כאשר חושפים את כל המערך(מגיעים לN מאצ'ים) מדפיסים מינוס אחד
איך פותרים
ניצור מערך אפסים באורך N.
נעבור על המערך שקיבלנו כל פעם על 2 איברים ונדפיס אותם אם יש ביניהם MATCH נמשיך ל2 האיברים הבאים.
אם אין ביניהם התאמה נבדוק את שני הקלפים,אם לא קיים בניהם התאמה:נשים במערך מונים במיקום של הערך של הקלף את הערך של האינדקס שהגענו אליו
וכך בעצם המערך מונים מציין לנו באיזה תא נמצא כל מספר במערך הנבדק.
אם קיים ביניהם התאמה נדפיס את האיבר הנוכחי ובנסוף אליו נדפיס בהתאמה את האיבר במערך מונים שבנינו.
כאשר נסיים לעבור על כל האיברים נדפיס מינוס 1 וזהו
for i in range(1,2*N,2):
print(i," ",i + 1)
x = input()
if x == 'MATCH':
continue
for j in range(2):
card = (int(x.split(" ")[j]))
if cards[card] == 0:
cards[card] = i + j
else:
print(cards[card]," ",i + j)
input()
print (-1)