暴力 猜數字(hdu1172)

2021-07-24 17:59:08 字數 1393 閱讀 7268

題目描述:

猜數字遊戲是gameboy最喜歡的遊戲之一。遊戲的規則是這樣的:計算機隨機產生乙個四位數,

然後玩家猜這個四位數是什麼。每猜乙個數,計算機都會告訴玩家猜對幾個數字,其中有幾個數字在正確的位置上。

比如計算機隨機產生的數字為1122。如果玩家猜1234,因為1,2這兩個數字同時存在於這兩個數中,

而且1在這兩個數中的位置是相同的,所以計算機會告訴玩家猜對了2個數字,其中乙個在正確的位置。

如果玩家猜1111,那麼計算機會告訴他猜對2個數字,有2個在正確的位置。

現在給你一段gameboy與計算機的對話過程,你的任務是根據這段對話確定這個四位數是什麼。

input

輸入資料有多組。每組的第一行為乙個正整數n(1<=n<=100),表示在這段對話中共有n次問答。

接下來的n行中,每行三個整數a,b,c。gameboy猜這個四位數為a,然後計算機回答猜對了b個數字,

其中c個在正確的位置上。當n=0時,輸入資料結束。

output

每組輸入資料對應一行輸出。如果根據這段對話能確定這個四位數,則輸出這個四位數,若不能,則輸出"not sure"。

解題思路:暴力,就是暴力。

/*暴力出奇蹟,逆向試數 把所有的四位數都判斷一遍,

如果解=1,則輸出,否則not sure ,竟然能ac,我也是醉了*/

#includeint main()

if(e[b2])

if(e[b3])

if(e[b4])

if(a1==b1) //c條件判斷

cc++;

if(a2==b2)

cc++;

if(a3==b3)

cc++;

if(a4==b4)

cc++;

//printf("%d,%d\n",bb,cc);

if(bb!=b[i]||cc!=c[i]) //如果出現過不符合的情況,z狀態=0,跳出本數的測試

}

if(z) //如果經過所有的問答後,z狀態還=1,該數符合條件

} //printf("%d\n",j);

if(j==1) //j只能等於1,若大於則答案不唯一,若=0則無解

printf("%d\n",l);

else

printf("not sure\n");

}return 0;

}

HDU 1172 猜數字 暴力列舉

problem description 猜數字遊戲是gameboy最喜歡的遊戲之一。遊戲的規則是這樣的 計算機隨機產生乙個四位數,然後玩家猜這個四位數是什麼。每猜乙個數,計算機都會告訴玩家猜對幾個數字,其中有幾個數字在正確的位置上。比如計算機隨機產生的數字為1122。如果玩家猜1234,因為1,2這...

HDU 1172 猜數字 暴力列舉

problem description 猜數字遊戲是gameboy最喜歡的遊戲之一。遊戲的規則是這樣的 計算機隨機產生乙個四位數,然後玩家猜這個四位數是什麼。每猜乙個數,計算機都會告訴玩家猜對幾個數字,其中有幾個數字在正確的位置上。比如計算機隨機產生的數字為1122。如果玩家猜1234,因為1,2這...

列舉 hdu1172 猜數字

因為時間給的非常多,然後測試組數又很小,所以是乙個很粗暴的模擬 只要從1000到9999列舉答案,然後再判斷符合答案的個數,看個數的數量差不多就做完了 然後就在於如何判斷有幾個數字同時存在,我的思路是用vis1和vis2分別記錄進行比較的兩個數字中,每個數字出現的次數 那麼如果對於某個數字,vis1...