猜數字遊戲的提示(Master-Mind Hints,UVa340)
阿新 • • 發佈:2018-12-20
題目:
實現一個經典“猜數字”遊戲。給定答案序列和使用者猜的序列,統計有多少數字位置正確(A),有多少數字在兩個序列都出現過但位置不對(B)。
輸入包含多組資料。每組輸入第一行為序列長度n,第二行是答案序列,接下來是若干猜測序列。猜測序列全0時該組資料結束。n = 0 時輸入結束。
樣例輸入:
4
1 3 5 5
1 1 2 3
4 3 3 5
6 5 5 1
6 1 3 5
1 3 5 5
0 0 0 0
10
1 2 2 2 4 5 6 6 6 9
1 2 3 4 5 6 7 8 9 1
1 1 2 2 3 3 4 4 5 5
1 2 1 3 1 5 1 6 1 9
1 2 2 5 5 5 6 6 6 7
0 0 0 0 0 0 0 0 0 0
0
樣例輸出:
Game 1:
(1,1)
(2,0)
(1,2)
(1,2)
(4,0)
Game 2:
(2,4)
(3,2)
(5,0)
(7,0)
分析:
直接統計可得A,為了求B,對於每個數字(1~9),統計兩者出現的次數c1和c2,則min(c1,c2)就是該數字對B的貢獻。最後要減去A的部分。程式碼如下: