פתרון לBit Soccer
מה רוצים בתרגיל
מביאים לך מספר שחקנים בשורה הראשונה ובשורה השניה את היכולת של כל שחקן(מיוצג בבינארי) השורה שאחרי זה כמות הבדיקות ובשורת שאחרי בודקים אם אפשר לייצר המספר שנתבקשנו(אמור לייצג "את קבוצת השחקנים שפותחת במשחק") לבדוק מהשחקנים שקיבלנו בשורה השניה באמצעות פעולת חיבור בינארי.
איך פותרים
נעשה לולאה שעוברת על כל השחקנים ומוסיפה את ערכם למשתנה אם הם עומדים בתנאי:הערך שלהם (פעולת חיבור בינאררית) הערך שקיבלנו לבדוק שווה לערך שקיבלנו לבדוק.
בסוף הלולאה נבדוק אם המשתנה שיצרנו שווה לערך שקיבלנו-במידה והם שווים נדפיס YES במידה והם שונים נדפיס NO
for i in range(Q):
goal_team_performance = int(input())
goal_team = 0
for player in players:
if player|goal_team_performance == goal_team_performance:
goal_team = goal_team|player
if goal_team == goal_team_performance:
print("YES")
else:
print("NO")