回分類題庫
z122: C.有趣的猜數字遊戲
關鍵字: 2001 NPSC 國中組 初賽

測資點 : 1 | Time Limit : 1000 ms | Memory Limit : 128000 KB
Accepted : 1 Times / 1 Users | Submit : 1 Times / 1 Users | Accepted rate : 100%
題目加入時間 : 2021-03-29 20:50

Content: 简体中文

  有一種猜數字的遊戲,由比賽雙方各訂下一個四位數的秘密號碼,這個號碼選取的標準是每個位數的數字必須為1至9之間且不相同的數字,比賽開始由一方猜對方號碼,對方則依據所猜的號碼與自己的秘密號碼比對,回答所猜號碼之正確性,而回答之規則如下:

  假如所猜號碼與秘密號碼有任何位數(個十百千位)相同,則以A來表示。假如所猜號碼與秘密號碼有數字相同,但所在位置不同,則以B來表示。例如:秘密號碼為1234,則:

猜5678,則回答0A0B。
猜1357,則回答1A1B。
猜1243,則回答2A2B。

  如此由比賽雙方輪流向對方發問,並經由所得到的回答來分析歸納以猜出對方的秘密號碼,以先猜對者為優勝。

  現在你正與朋友進行這個緊張鬥智的猜數字遊戲,比賽以進行到最後階段,你已經猜中對手秘密號碼的全部數字(digits),只是這些數字位置不對,請你寫一個程式來分析對方所給的所有資料,來解出所有可能的正確答案!

Input:

  輸入檔中有一組或一組以上的資料。每一組的資料是先給* 表示資料開始,以**表示本組資料結束,最後並以***表示檔案結束 ,每一行資料前四碼為你猜的號碼,緊接著為對方的回答,所有給予的資料皆為猜中四碼的情形,每一筆資料皆為對方誠實回答的資料。(所有英文字母均為大寫)。

Output:

  請將每組比賽資料可能的正確答案(至少有一組)由小至大順序列出,每一個答案一列,並以*為每組答案的開始以及**為每組答案的結束,最後以***為整個檔案輸出的結束。

Sample Input:help

若題目沒有特別說明,則應該以多測資的方式讀取,若不知如何讀取請參考 a001 的範例程式。
輸入範例:
*
47652A2B
67450A4B
**
*
47561A3B
76540A4B
**
***

Sample Output :

輸出範例:
*
4567
**
*
4567
5476
6745
**
***

Hint :

Author :

2001 NPSC 國中組 初賽 (管理員:wubaie)

  Solve it!   Status Forum