1A2B(Bulls and Cows)是一種經典的邏輯遊戲,遊戲開始時由出題者設定一個4位數的秘密數字作為謎底,接著由猜謎者嘗試猜測這個秘密數字,直到猜對為止。但猜謎者不是先知,因此出題者會對每一次猜測給出「XAYB」的提示,其中:A表示數字和位置都正確的位數個數;B表示數字正確但位置不正確的位數個數。例如:秘密數字為 8123,如果猜謎者猜 1052:數字「1」在秘密數字中,但位置不同,所以是0A1B。數字「0」不在秘密數字中,所以是 0A0B。數字「5」也不在秘密數字中,所以還是 0A0B。最後,數字「2」在秘密數字中,但位置不同,所以是0A1B。將結果相加,有提示為:0A2B。如果猜謎者改猜 8213,數字「8」位置正確 (1A)。數字「1」位置不正確 (1B)。數字「2」位置不正確 (1B)。數字「3」位置正確 (1A)。提示為 2A2B。如果猜謎者猜 8123則所有數字和位置都正確,提示為 4A0B,遊戲結束。
由於在本題中秘密數字必須是四位數數字,因此秘密數字不存在前導零(亦即祕密數字範圍為1000~9999)。且祕密數字中有可能出現重複的數字(例如:6666),而如果出現重複數字時,令 A 為相同位置且相同數字的數量,則有:
A + B = ∑d = 09 min(cntsecret(d), cntguess(d))
第一行包含一個正整數 T(1≤T≤105),表示有 T 筆測資。
對於每筆測資,第一行包含一個正整數 N(1≤N≤10),表示總共有 N 個提示。
接下來的 N 行,每行包含一個四位數數字與一串提示,以一個空白間隔。
對於每筆測資:
請輸出秘密數字為何。
如果不能確保唯一的秘密數字,請輸出 「Not Sure」。
如果提示自相矛盾(即沒有任何4位數符合提示),請輸出 「Impossible」。
5 1 1234 4A0B 6 3025 0A1B 5873 0A1B 1726 2A1B 6317 0A2B 2746 1A1B 1286 1A1B 2 5866 2A2B 7194 2A2B 1 6253 0A2B 3 1798 0A0B 5243 0A0B 6666 4A0B
1234 1792 Impossible Not Sure 6666
| 編號 | 身分 | 題目 | 主題 | 人氣 | 發表日期 |
|
沒有發現任何「解題報告」
|
|||||