版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
The20084thHunanUniversityProgrammingContest
ProblemL
NumberGuessingLecture:WuHaoDate:2008/5/25DescriptionNumberGuessingisacomputergame.First,thecomputerchoosesfourdifferentdigits,youneedtoguessthesefourdigitsinthefewesttimes,foreachguess,thecomputerwillshowajudgementintheformof"#A#B","#"isanumber0~4."#A"showshowmanydigitsyouguessedwithbothcorrectvalueandposition."#B"showshowmanydigitsyouguessedwithcorrectvalue.Forexample,thecomputerchose1234,andyouguessed6139,thecomputerwillshow"1A2B"foryouhavenumber"1"correctvaluebutwrongpositionandnumber"3"correctvaluewithcorrectposition.Thusthecomputergivesyouthejudgementof"1A2B"Nowyouhavememorizedthedigitsyouguessedandthejudgementsyougot,youfeellikeyoucanfigureoutthecorrectanswer.Lifeisfilledwithwisdom,isn'tit?InputThereareseveraltestcases.Foreachtestcase,thefirstlinecontainsasinglepositiveintegerNindicatesthetimesyoucanguess,thefollowingNlinesistherecordoftheguess,intheform:#####A#BThefirstfournumbersisthenumbersguessed,thenthejudgementsforyourguess.OutputForeachtestcase,outputasinglelinecontainsexactlyfourdigitsthatthecomputerhaschosen.Youmayassumethateachtestcasegivesyouenoughinformation,soyoucanfigureoutthecorrectanswer.SampleInput212342A4B12430A4B307323A3B15260A0B45670A2B-1OutputforSampleinput21340734數(shù)字猜想數(shù)字猜想是一個電腦游戲。首先,電腦會選擇四個不重復(fù)的數(shù)字,你要根據(jù)電腦的提示盡快地猜出這個數(shù)字。電腦給的提示形式是“#A#B”,其中“#”是0
4的數(shù)字。其中“#A”表示猜中了數(shù)字.和位置的數(shù)目,“#B”表示猜中數(shù)字的數(shù)目。比如,電腦選擇的是1234,你猜的是6139,電腦給的提示是“1A2B”,因為數(shù)字“3”既猜中了數(shù)字,也猜對了位置,而數(shù)字“1”只猜中了數(shù)字,所以電腦給的提示就是“1A2B”?,F(xiàn)在,你仔細記錄了你每次猜的數(shù)字和電腦的提示,你感覺應(yīng)該可以猜對結(jié)果了。是的,生活中充滿了智慧,不是嗎?輸入有多個測試序列。每個測試序列的第一行是一個單獨的正整數(shù)N,表示猜想的次數(shù),接下來的N行是N次猜想的記錄,形式為:#####A#B前面四個數(shù)字是猜想的數(shù)字,后面是電腦對猜想的提示。輸入N為0或者負整數(shù)表示輸入結(jié)束,并且無須處理。輸出對于每個測試序列,輸出一行,給出電腦選定的數(shù)字,要求數(shù)字和位置都正確。你可以假設(shè),每個測試序列都提供了足夠的信息,讓你可以猜出該數(shù)字。輸入樣例212342A4B12430A4B307323A3B15260A0B45670A2B-1輸出樣例21340734解題報告本題采用蠻力搜索的方法可以解決。可能解的總數(shù)是10*9*8*7=5040。將這些可能的解與記錄的提示內(nèi)容進行比較,保留和提示結(jié)果相同的解。直至最后只有一個唯一解為止。數(shù)據(jù)結(jié)構(gòu)采用鏈表形式存儲所有可能解。對于每次猜測,從鏈表的第一個元素開始,和提示進行比對,如果和提示吻合,保留該元素,否則,去掉該元素。最后,鏈表中保留的唯一元素,也即鏈表的頭元素就是問題的解。標程(一)#include<stdio.h>#defineLoop(x)for(x=0;x<10;++x)#defineN5040//5040是解的總數(shù)chars[N][5];//s存儲所有可能解,和鏈表對應(yīng)intf[N],head;//鏈表存儲結(jié)果,head是頭指針voidinit(){//初始化,得到所有可能解
inti,j,k,l,n=0;Loop(i)Loop(j)Loop(k)Loop(l)if(i!=j&&i!=k&&i!=l&&j!=k&&j!=l&&k!=l)sprintf(s[n++],"%d%d%d%d",i,j,k,l);}標程(二)intcheck(char*s1,char*s2,inta,intb){/*函數(shù)檢查猜測結(jié)果s1與可能的解s2是否吻合,a是猜對位置和數(shù)字的個數(shù),b是只猜對數(shù)字的個數(shù),如果吻合,返回1,否則0;*/inti,c,d[10];for(i=c=0;i<4;++i)if(s1[i]==s2[i])++c;if(c!=a)return0;Loop(i)d[i]=0;for(i=0;i<4;++i)d[s1[i]-'0']++;for(i=c=0;i<4;++i)d[s2[i]-'0']++;Loop(i)if(d[i]==2)c++;if(c!=b)return0;return1;}標程(三)voidjudge(char*ss,inta,intb){//對于猜測ss及結(jié)果,把不符合條件的元素去掉
inti,j;while(!check(ss,s[head],a,b))head=f[head];//尋找頭指針
for(i=head,j=f[i];j<N;j=f[j])if(check(ss,s[j],a,b))i=f[i]=j;//后繼元素
f[i]=N;//鏈表結(jié)束標志}intmain(){inti,n,a,b;chars1[5],s2[5];
init();while(scanf("%d",&n),n>0){for(i=0;i<N;++i)f[i]=i+1;head=0;//鏈表初始化
for(i=0;i<n;+
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度全新碼頭租賃合同及港口物流配套服務(wù)協(xié)議3篇
- 2025年度人工智能教育與培訓(xùn)簡易版勞動合同書2篇
- 二零二五年度科技孵化器場地租賃管理服務(wù)合同2篇
- 2025農(nóng)村回遷房安置補償標準買賣合同2篇
- 二零二五年度個人與公司代收代付國際匯款合同范本3篇
- 二零二五年度環(huán)保型水泥產(chǎn)品采購合同3篇
- 二零二五年度貧困戶健康扶貧幫扶合同3篇
- 2025年度工業(yè)機器人機械定制開發(fā)合同3篇
- 二零二五年度農(nóng)副產(chǎn)品冷鏈物流設(shè)施建設(shè)合同3篇
- 二零二五年度學校防火門安全評估與維修改造合同3篇
- 生物入侵與生物安全智慧樹知到期末考試答案章節(jié)答案2024年浙江農(nóng)林大學
- 《公路工程集料試驗規(guī)程》JTG-3432-2024考核試題及答案文檔
- 在線網(wǎng)課知慧《內(nèi)經(jīng)選讀(浙中醫(yī)大)》單元測試考核答案
- 2023醫(yī)院隔離技術(shù)標準-新舊版對比
- 部編版人教版語文八年級下冊全冊課件
- 圍手術(shù)期高血糖的管理
- 常見的排序算法-冒泡排序 課件 2023-2024學年浙教版(2019)高中信息技術(shù)選修1
- 農(nóng)貿(mào)市場安全生產(chǎn)
- 醫(yī)院門急診高峰時段合理分流患者的應(yīng)急預(yù)案
- (高清版)TDT 1031.6-2011 土地復(fù)墾方案編制規(guī)程 第6部分:建設(shè)項目
- 園林綠化工培訓(xùn)課件2
評論
0/150
提交評論