1. 程式人生 > >猜數字遊戲的提示(Master-Mind Hints,UVa340)

猜數字遊戲的提示(Master-Mind Hints,UVa340)

題目:

實現一個經典“猜數字”遊戲。給定答案序列和使用者猜的序列,統計有多少數字位置正確(A),有多少數字在兩個序列都出現過但位置不對(B)。

輸入包含多組資料。每組輸入第一行為序列長度n,第二行是答案序列,接下來是若干猜測序列。猜測序列全0時該組資料結束。n = 0 時輸入結束。

樣例輸入:

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 

樣例輸出: 

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的部分。程式碼如下: