題目描述:
猜數字遊戲是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...