




下載本文檔
版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
深度優(yōu)先搜索DFSZOJProblemSet-1002FireNetTimeLimit:2SecondsMemoryLimit:65536KBSupposethatwehaveasquarecitywithstraightstreets.Amapofacityisasquareboardwithnrowsandncolumns,eachrepresentingastreetorapieceofwall.Ablockhouseisasmallcastlethathasfouropeningsthroughwhichtoshoot.ThefouropeningsarefacingNorth,East,South,andWest,respectively.Therewillbeonemachinegunshootingthrougheachopening.Hereweassumethatabulletissopowerfulthatitcanrunacrossanydistanceanddestroyablockhouseonitsway.Ontheotherhand,awallissostronglybuiltthatcanstopthebullets.Thegoalistoplaceasmanyblockhousesinacityaspossiblesothatnotwocandestroyeachother.Aconfigurationofblockhousesislegalprovidedthatnotwoblockhousesareonthesamehorizontalroworverticalcolumninamapunlessthereisatleastonewallseparatingthem.Inthisproblemwewillconsidersmallsquarecities(atmost4x4)thatcontainwallsthroughwhichbulletscannotrunthrough.Thefollowingimageshowsfivepicturesofthesameboard.Thefirstpictureistheemptyboard,thesecondandthirdpicturesshowlegalconfigurations,andthefourthandfifthpicturesshowillegalconfigurations.Forthisboard,themaximumnumberofblockhousesinalegalconfigurationis5;thesecondpictureshowsonewaytodoit,butthereareseveralotherways.Yourtaskistowriteaprogramthat,givenadescriptionofamap,calculatesthemaximumnumberofblockhousesthatcanbeplacedinthecityinalegalconfiguration.Theinputfilecontainsoneormoremapdescriptions,followedbyalinecontainingthenumber0thatsignalstheendofthefile.Eachmapdescriptionbeginswithalinecontainingapositiveintegernthatisthesizeofthecity;nwillbeatmost4.Thenextnlineseachdescribeonerowofthemap,witha'-'indicatinganopenspaceandanuppercase'X'indicatingawall.Therearenospacesintheinputfile.Foreachtestcase,outputonelinecontainingthemaximumnumberofblockhousesthatcanbeplacedinthecityinalegalconfiguration.Sampleinput:.X..????XX.. 2XX.X3.X.X.X.X.3....XX.XX40Sampleoutput:51524Source:ZhejiangUniversityLocalContest2001Code:#include<cstdio>#include<iostream>usingnamespacestd;#defineMaxlen4charcMap[Maxlen][Maxlen];intiBest,n;boolCanPut(introw,intcol){inti;for(i=row-1;i>=0;i--)〃掃描同一列,因不用掃本身,所以row-1{if(cMap[i][col]=='O')returnfalse;if(cMap[i][col]=='X')break;}for(i=col-1;i>=0;i--) 〃掃描行{if(cMap[row][i]=='O')returnfalse;if(cMap[row][i]=='X')break;}returntrue;}voidsolve(intk,intcurrent)//curretn為放的數目,k為所寫的代號0,1,2,3.。。。n*n{intx,y;if(k==n*n) 〃到達最后一個if(current>iBest){iBest=current;}}else{x=k/n;〃得到x坐標y=k%n;〃得到y(tǒng)坐標if(cMap[x][y]=='.'&&CanPut(x,y)){cMap[x][y]='O'; 〃放炮solve(k+1,current+1); 〃進入下一個坐標,數目加一cMap[x][y]='.'; 〃還原}solve(k+1,current); 〃很技術,你可以選擇也可以不先擇}}intmain(){freopen("input.txt”,"r”,stdin);freopen("output.txt”,"w”,stdout);inti,j;while(scanf("%d”,&n)&&n){for(i=0;i<n;i++){for(j=0;j<n;j++){cin>>cMap[i][j];}}iBest=0; //不要忘了初始化solve(0,0);printf("%d\n”,iBest);}}ZOJProblemSet-1008GnomeTetravexTimeLimit:10SecondsMemoryLimit:32768KBHartisengagedinplayinganinterestinggame,GnomeTetravex,thesedays.Inthegame,atthebeginning,theplayerisgivenn*nsquares.Eachsquareisdividedintofourtrianglesmarkedfournumbers(rangefrom0to9).Inasquare,thetrianglesarethelefttriangle,thetoptriangle,therighttriangleandthebottomtriangle.Forexample,Fig.1showstheinitialstateof2*2squares.Fig.1Theinitialstatewith2*2squaresTheplayerisrequiredtomovethesquarestotheterminationstate.Intheterminationstate,anytwoadjoiningsquaresshouIdmaketheadjacenttrianglemarkedwiththesamenumber.Fig.2showsoneoftheterminationstatesoftheaboveexample.Fig.2OneterminationstateoftheaboveexampleItseemsthegameisnotsohard.Butindeed,Hartisnotaccomplishedinthegame.Hecanfinishtheeasiestgamesuccessfully.Whenfacingwithamorecomplexgame,hecanfindnowayout.Oneday,whenHartwasplayingaverycomplexgame,hecriedout,"Thecomputerismakingagooseofme.It'simpossibletosolveit."Tosuchapoorplayer,thebestwaytohelphimistotellhimwhetherthegamecouldbesolved.Ifheistoldthegameisunsolvable,heneedn'twastesomuchtimeonit.InputTheinputfileconsistsofseveralgamecases.Thefirstlineofeachgamecasecontainsoneintegern,0<=n<=5,indicatingthesizeofthegame.Thefollowingn*nlinesdescribethemarkingnumberofthesetriangles.Eachlineconsistsoffourintegers,whichinorderrepresentthetoptriangle,therighttriangle,thebottomtriangleandthelefttriangleofonesquare.Afterthelastgamecase,theinteger0indicatestheterminationoftheinputdataset.OutputYoushouldmakethedecisionwhetherthegamecasecouldbesolved.Foreachgamecase,printthegamenumber,acolon,andawhitespace,thendisplayyourjudgment.Ifthegameissolvable,printthestring"Possible".Otherwise,pleaseprint"Impossible"toindicatethatthere'snowaytosolvetheproblem.Printablanklinebetweeneachgamecase.Note:Anyunwantedblanklinesorwhitespacesareunacceptable.SampleInput2TOC\o"1-5"\h\z9144456854044321112223334440OutputfortheSampleInputGame1:PossibleGame2:ImpossibleCode:#include<stdio.h>intn; 〃方格矩陣的大小intq; 〃方格的類型數intiSquare[25][4];//方格矩陣,類型相同的只存一個intiCount[25]; //存放方格的類型,因為方格數最多25個intiTable[25]; 〃存放解決方案,實際放置的方格〃判斷函數,是否能把方格放下intPlace(intiPos){inti;if(iPos==n*n)return1; //n*n個方格都可以放下,返回值為真〃對q種類型,每個都往ipos的位置放一下試試for(i=0;i<q;i++){if(iCount[i]==0)continue;〃該種類型方格已經用完if(iPos%n!=0)//不是最左邊的if(iSquare[iTable[iPos-1]][1]!=iSquare[i][3])continue;if(iPos>=n)//不是最上邊的if(iSquare[iTable[iPos-n]][2]!=iSquare[i][0])continue;iTable[iPos]=i;iCount[i]--;if(Place(iPos+1)==1)return1;//dfs的精髓!?。。。?!〃恢復該方格的類型數1個,便于下一次搜索iCount[i]++;}
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 木蘭詞中英雄形象塑造分析教案
- 國學小名士觀后感
- 在線服務技術維護與支持服務合同協(xié)議
- 貨幣銀行學知識點測試卷
- 產品委托加工承攬合同協(xié)議
- 新聞傳媒產業(yè)發(fā)展趨勢試題集錦
- 智慧城市交通出行優(yōu)化方案設計報告
- 員工請假及銷假記錄表
- 格林童話幼兒故事解讀
- 木地板購銷質量保證合同
- 人工智能對輿情分析的影響
- 2025年北??叼B(yǎng)職業(yè)學院單招職業(yè)技能考試題庫參考答案
- 2025屆山東省菏澤市高三下學期一??荚嚉v史試題(含答案)
- 2025年宜春職業(yè)技術學院單招職業(yè)適應性測試題庫新版
- 2025屆浙江省湖州、衢州、麗水高三11月三地市一模考試化學試卷
- 2025年湖南藝術職業(yè)學院單招職業(yè)技能測試題庫參考答案
- 2025年湖南鐵道職業(yè)技術學院單招職業(yè)技能測試題庫學生專用
- 《臨床常見心理問題》課件
- 教學課件:《民事訴訟法》(本科)
- 2024年吉林省生活垃圾清運和處理市場前景預測及投資規(guī)劃研究報告
- 2025年湖南省高職單招《語文》高頻必練考試題庫400題(含答案)
評論
0/150
提交評論