2015第八屆挑戰(zhàn)賽一階段優(yōu)秀集含abcd特等b1071隊(duì)題_第1頁(yè)
2015第八屆挑戰(zhàn)賽一階段優(yōu)秀集含abcd特等b1071隊(duì)題_第2頁(yè)
2015第八屆挑戰(zhàn)賽一階段優(yōu)秀集含abcd特等b1071隊(duì)題_第3頁(yè)
2015第八屆挑戰(zhàn)賽一階段優(yōu)秀集含abcd特等b1071隊(duì)題_第4頁(yè)
2015第八屆挑戰(zhàn)賽一階段優(yōu)秀集含abcd特等b1071隊(duì)題_第5頁(yè)
已閱讀5頁(yè),還剩19頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

單字母替單字母替換關(guān)鍵 字典樹(shù)dfs算 優(yōu) 對(duì) 樹(shù)dfs算法。照明密文字母出現(xiàn)頻率進(jìn)行分析,得到頻率分析算法的正確率為80%。對(duì)于字典樹(shù)dfs算法,首先利用字典庫(kù)中的單詞構(gòu)建一棵字典樹(shù),在深度優(yōu)先搜索結(jié)果;當(dāng)篇幅介于40-100時(shí),可生成兩個(gè)左右的結(jié)果,可通過(guò)人為直接判別出結(jié)果;當(dāng)密文由不到十個(gè)詞匯組成時(shí),則根據(jù)密文所符合的構(gòu)詞規(guī)則會(huì)生成幾個(gè)到幾百個(gè)不定(填寫參賽(填寫所選題目 英要(選填( 必須部分,選填可加分,加分不超 總分 Theresearchofmonoalphabeticcipherhasgreatinfluenceonthepasswordcracking.Thispaperstudiesthesimplemonoalphabeticcipherproblems,anddiscreteoptimizationmodelisestablishedandtheexhaustivealgorithm,frequencyysisalgorithm,DFSontrietreealgorithmaredesigned.Forexhaustivealgorithm,itrandomlyselectsonecorrespondingrelationshipfromallpossibleones,andthendecideswhetheritisakey.Ifthekeysatisfytherequirementthentheintextcanbeevaluated;Otherwiseselectsotherrulesofjudgment,whilethispaperisbasedonthecomputationalcomplexityofthealgorithm.Forfrequencyysisalgorithm,accordingtothesingleletterfrequencystatistics,thestatisticalrulesofEnglishword-formationandsyntax,yzeswiththeintextandciphertextletterfrequency,theaccuracyoffrequencyysisalgorithmcanreach80%.AsforDFSontrietreealgorithm,firstlybuiltatrietreeusingallthewordsinthedictionary,atthesametimeofthedepthfirstsearch,recordstheserialnumberofthecurrenttrietreenode,usingthepropertythataddinganewletter"x"cannotreachanyexistednodeofthetrietree,timelypruning--neversearchesapossibilitythatthenextletterofciphertextwordprocessingnowbedecryptedasletter"x".Throughtestingtheprogram,whentheciphertextismorethan100words,itcandirectlygeneratedtheuniqueresult;Whenthelengthisbetween40and100,cangeneratetwoorsoresults,whichcanbetoldbyhumandiscriminant;Whentheciphertextonlyconsistsofabouttenwords,accordingtoconformationtotherulesofword-formation,theciphertextwillgenerateseveraltohundredsofuncertainresults,thereforedrawingappropriateintextcanonlyberealizedbyhumanlaboring.Comparingallthethreealgorithmsondifferenttypesofciphertext,ciphertextbyfrequencyysisalgorithmissuitableforlargescalewhileDFSontrietreealgorithmisnotonlysuitablefortheciphertextoflargescale,butalsofortheciphertextofsmallscalebyonlyaddingasmallamountofartificialjudgment.Finally,thispaperassumesthatcombinedDFSontrietreealgorithmwithfrequencyysisalgorithm,lesshumanlaboringisneeded.PAGEPAGE4一、問(wèn)題重述問(wèn)題背景單字母替換的加密方法多種多樣,時(shí)采取人工獲取的密文準(zhǔn)確性高,提高自動(dòng)嘗試求鑰破譯明文的技術(shù)可待研究。問(wèn)題提出假設(shè)明文中單詞是現(xiàn)代英語(yǔ)詞典中通常使用的,本題假設(shè)表僅是針對(duì)26個(gè)字二、問(wèn)題分析單字母替換規(guī)則是隨機(jī)的,一共有26!種情況,對(duì)于隨機(jī)替換情況需要做一步一步的優(yōu)對(duì)于上述建立模型的方法,在設(shè)計(jì)算法求解過(guò)程中,的是26個(gè)字母中有不同適用范圍對(duì)方法進(jìn)行破譯能力劃分。更加貼近實(shí)際,并提供有效的單詞數(shù)據(jù)庫(kù)是本文的一大,通過(guò)查閱大量資料與文獻(xiàn),并進(jìn)行適當(dāng)?shù)?、合理的假設(shè),對(duì)單字母替換的方式進(jìn)行研究。[3]三、模型假設(shè)與假設(shè)說(shuō)明假設(shè)三:密文沒(méi)有時(shí)效性(即在設(shè)計(jì)算法時(shí)并不考慮運(yùn)行時(shí)間) 四、模型建立與求解算法設(shè)計(jì)法、字典樹(shù)剪枝算法[8],利用C++等編譯程序?qū)崿F(xiàn)問(wèn)題求解。間,C(si)為狀態(tài)si對(duì)應(yīng)的目標(biāo)函數(shù)值,要求尋找最優(yōu)解s*,使得對(duì)于所有的si∈Ω,有為描述模型原理,我們暫記密文字母空間1 s*){a*,b*,,z*},密文單詞空間S2{w1*,w2*,,wn*}實(shí)際密文單詞空間A{w1,w2,,wn}破譯所得明文字母空間1m){a,b,,z},明文單詞空間M2{w1,w2,,wn},英文語(yǔ)料庫(kù)單詞空間{w1,w2,,wm},其中mn,A。暫記目標(biāo)函數(shù)為C(w),對(duì)應(yīng)法則為j的mj視為sj*的最優(yōu)解(1j26)。(上述符號(hào)只用于解釋模型,并不通用于后文的算法設(shè)計(jì)等窮舉算法單字母替換加密的普遍加密規(guī)則就是2626個(gè)字母。在未知字母之間對(duì)應(yīng)規(guī)則的情況下,我們用暴搜法循環(huán)嘗試。建立明文空間unsecured={A,B,C,D,E,F,G,H,...,X,Y,Z},密文空間encrypted同樣為26個(gè)字母,用for循環(huán)列舉出所有的對(duì)應(yīng)關(guān)系。運(yùn)算,若獲得的明文不正確,再假設(shè)第二次選取密文空間X,YY,Z11C置后,作為一個(gè)新的密文空間對(duì)密文的情況,我們通過(guò)計(jì)算可以得到一共有2C方法;再考慮明文空unsecured與密文空encrypted中字母替換規(guī)則中只有三個(gè)字母被替換的情況,例encrypted={A,B,C,D,...,V,W,Y,Z,X},22三個(gè)字母相互替換方法有3種,在此種情況下經(jīng)過(guò)計(jì)算得出密文空間共有3*C3一正確的對(duì)應(yīng)規(guī)則:算法進(jìn)行到這里,我們要連接現(xiàn)代常用單詞的數(shù)據(jù)庫(kù),按照所生成的33的假設(shè)是合理的如果加密規(guī)確,長(zhǎng)單詞的選取可以一次確定26個(gè)字母中許多字母ufhkqutkjpfqpfubepcngliubuzhkjkhkpqubthgpofctlzhqcnhgcqpuzhkjkhkpq,lqlurrakbjcrjkbekiuekbuhkjpcfhpzgbkzurqxkrr.kbhgpkficqhepbpfurncfihgpqpuzhkjkhkpqkbzrltphgpofctlzhkcbcnscfxqcnufh,hgpzfkhkzkqicnufh,hgpqhltacngkqhcfacnufh,ubthgpupqhgphkztkqqpikbuhkcbcnufhiuampzgufuzhpfkyptkbhpfiqcnikipqkq(khqfpofpqpbhuhkcbcnfpurkha),zciilbkzuhkcbcnpichkcb,cfchgpf頻率分析算法由于窮舉算法要對(duì)所有的秘鑰進(jìn)行嘗試,有多達(dá)26!種可能性,運(yùn)算次數(shù)多達(dá)約4.03*1026次,機(jī)器運(yùn)行時(shí)間過(guò)長(zhǎng),因而根據(jù)英文在頻率上的固有語(yǔ)言破綻,可以設(shè)計(jì)出根據(jù)搜索,我們得到了一份來(lái)及Algoritmy的字母頻率統(tǒng)計(jì)資料另外還有康奈爾大學(xué)數(shù)學(xué)探索項(xiàng)目(MathExplorer’sproject)在統(tǒng)計(jì)40000個(gè)單詞后也得到了大同小異的結(jié)果。牛津大學(xué)分析簡(jiǎn)明牛津詞典詞條后結(jié)果依然近序(如圖6)。6我們記密文的字母元素空間為S,單詞元素空間為SA,英文語(yǔ)料庫(kù)元素空間為E,S(i)(i1,2,3)f(s,由假設(shè)知f(s為一個(gè)雙射,任何S中的元素(AZ26個(gè)字通過(guò)SA與找E的對(duì)比,分析頻率到正確的f(s),即可視為成功了密文。而密文的檢驗(yàn)則依靠SA(j)(j1,2,3)E中元素的對(duì)比來(lái)完成,我們知道,一除不正確的對(duì)應(yīng)法則,最終得到正確破譯的明文SA(k)(jk)。①單詞首字母頻率高至低排序TOAWBCDS,FMRHIYEGLNOJ,

ESTDNRYFLOGHAKMPU④三字母構(gòu)詞頻率高至低排序the,and,for,are,but,not,you,all,any,can,had,was,one,our,out,day,get,has,him,his,how,man,new,now,old,see,two,way,who,boy,did,its,let,put,say,she,too,use第一步,對(duì)重復(fù)單詞進(jìn)行統(tǒng)計(jì)??赏评沓霈F(xiàn)頻率最高的三字母單詞為the,這樣我如向后推理發(fā)現(xiàn)錯(cuò)誤,再將s4,s5的對(duì)應(yīng)關(guān)系對(duì)調(diào)。第二步,根據(jù)步驟一,我們得到了the的對(duì)應(yīng)關(guān)系,又由于在加密過(guò)程中符號(hào)保持問(wèn)句引導(dǎo)詞“how”的出現(xiàn)概率不好判別,而在特殊疑問(wèn)句中,w開(kāi)頭的引導(dǎo)詞出現(xiàn)的PAGEPAGE6f(s1)t,f(s2)h,f(s3)e,f(s4)a,f(s5) f(s6)w,f(s7)r,f(s8)o,f(s9)n,f(s10)第三步,此時(shí)我們有10最高概率的個(gè)已知對(duì)應(yīng),已經(jīng)知道將近半數(shù)的秘鑰規(guī)則。thcan,had,her,was,one,our,out,day,get,has,him,his,how,man,new,now,old,see,two,way,who,boy,did,itslet,put,say,shetoo,usean*d,*seu,a**(后兩字母相同)找到l,*an找到c等。此對(duì)比過(guò)程可以重復(fù)進(jìn)行,以找到的并不會(huì)要求檢驗(yàn)到的每一個(gè)詞的拼寫構(gòu)詞都符合語(yǔ)料庫(kù),而是當(dāng)錯(cuò)誤率達(dá)到一定程度80%20%密文中是幾個(gè)單詞,重復(fù)的不計(jì)入數(shù)量統(tǒng)計(jì)。字典dfs算嘗試使用密文里面的單詞與單詞表里的單詞進(jìn)行配對(duì),得出密匙之后進(jìn)行下一個(gè)hii這7個(gè)單詞,可構(gòu)建字典樹(shù)如圖7。ii圖(7)abc,abcd,abd,bbcd,efg,hiiv的那條邊的起始節(jié)點(diǎn)。這一過(guò)程一直進(jìn)行到已發(fā)現(xiàn)從源節(jié)點(diǎn)可達(dá)的所有節(jié)點(diǎn)為止。復(fù)進(jìn)行直到所有節(jié)點(diǎn)都被為止。屬于盲目搜索。,說(shuō)明字典樹(shù)里沒(méi)有該單詞,如果在就在該字母的下一級(jí)子節(jié)點(diǎn)里找是不是有單詞的第二個(gè)字母,沒(méi)有說(shuō)明沒(méi)有該單詞,有的話用同樣的方(即不會(huì)加入該條替換關(guān)系,也不會(huì)繼續(xù)向下搜索dfsufhkqutkjpfqpfubepcngliubuzhkjkhkpqubthgpofctlzhqcnhgcqpuzhkjkhkpq,lqlurrakbjcrjkbekiuekbuhkjpcfhpzgbkzurqxkrr.kbhgpkficqhepbpfurncfihgpqpuzhkjkhkpqkbzrltphgpofctlzhkcbcnscfxqcnufh,hgpzfkhkzkqicnufh,hgpqhltacnhgpgkqhcfacnufh,ubthgpupqhgphkztkqqpikbuhkcbcnufh.ufhiuampzgufuzhpfkyptkbhpfiqcnikipqkq(khqfpofpqpbhuhkcbcnfpurkha),pvofpqqkcb,zciilbkzuhkcbcnpichkcb,cfchgpfwlurkhkpq.結(jié)果為得出兩種密鑰。仔細(xì)比較兩種加密規(guī)則,得知唯一的不同是:第一種加密方法把f加密為s,w加密為n,時(shí)則是把s替換成f,n替換成w;而第二種加密方法把f加密為n,w加密為s,時(shí)則是把s替換成w,n替換成f。由于兩種后得到的每個(gè)“明文單詞”正好都在單詞表出現(xiàn)過(guò),所以第一種出現(xiàn)許多ow,第二種許多of。但是,由of的使用頻率顯然ow高,故可以認(rèn)2是所需明文的概率遠(yuǎn)遠(yuǎn)大于方案1。顯然dfs算法可以搜出所有可能被加密成密文的原文,但是dfs算法不能對(duì)這一句話【siaazqlkba.vazoarfpbluaoar!】,搜出了245種方案。其中最正確的是這組【fleeatonce.Wearediscovered!】如果密文中的單詞意外被改變10024隨機(jī)抽取p%的單詞,如果抽取的單詞中沒(méi)有被改變的錯(cuò)誤單詞,那么很大可能可26個(gè)字母的對(duì)應(yīng)關(guān)系,且若所得對(duì)應(yīng)關(guān)系唯一,則一定是答案;如果不唯隨機(jī)了Max{ /抽取的單詞個(gè)數(shù),1000}次。art文本為例,任意改動(dòng)其中一個(gè)單詞p=70%X的程序可以運(yùn)行出答案的那不出的可能性依然存在,因?yàn)槿缦掠?條對(duì)應(yīng)關(guān)系沒(méi)有出來(lái)五、算法對(duì)比與選擇dfs算dfsdfsdfsdfs算法可以說(shuō)是本文所提及的三個(gè)算法中運(yùn)行最快的算更為廣泛。但是dfs算法對(duì)奇怪拼寫,特有名詞的程度比較低,換言之,該算法需三種算法在破譯結(jié)果上的差異:結(jié)果的準(zhǔn)確率是最高的,因?yàn)橥暾\(yùn)行的窮舉最終完成對(duì)秘鑰所有可能性的嘗試,條件下,一個(gè)窮舉算法的完全運(yùn)行需要長(zhǎng)達(dá)1013年的時(shí)間。dfsdfs算法的運(yùn)行時(shí)間是三種算法中最短的,輸出的破譯結(jié)40-50后的“have”2522種破譯結(jié)果,若對(duì)加密后的“here”70多種結(jié)果,若是對(duì)加密后的“attract”2密文分類C不符合構(gòu)詞的結(jié)構(gòu)的概率并不大,我們這里僅以密文篇幅的長(zhǎng)短與A類對(duì)比分出BC算法選擇分類,選擇最優(yōu)破譯方案。ufhkqutkjpfqpfubepcngliubuzhkjkhkpqubthgpofctlzhqcnhgcqpuzhkjkhkpq,lqlurrakbjcrjkbekiuekbuhkjpcfhpzgbkzurqxkrr.kbhgpkficqhepbpfurncfihgpqpuzhkjkhkpqkbzrltphgpofctlzhkcbcnscfxqcnufh,hgpzfkhkzkqicnufh,hgpqhltacnhgpgkqhcfacnufh,ubthgpupqhgphkztkqqpikbuhkcbcnufh.ufhiuampzgufuzhpfkyptkbhpfiqcnikipqkq(khqfpofpqpbhuhkcbcnfpurkha),pvofpqqkcb,zciilbkzuhkcbcnpichkcb,cfchgpfwlurkhkpq.窮舉算法:2實(shí)際上在得到這個(gè)結(jié)果時(shí),我們已經(jīng)可以認(rèn)為我們得到了一個(gè)達(dá)標(biāo)的破譯結(jié)果,是一個(gè)我們所能接受的破譯結(jié)果了。但是,這時(shí)的程序并沒(méi)有停止運(yùn)行,而這個(gè)人工判別可以接受的破譯結(jié)果真正的準(zhǔn)確性是沒(méi)有數(shù)據(jù)支持的,因?yàn)檫@個(gè)算法的嘗試是沒(méi)有從結(jié)果的可能性進(jìn)行考慮而排序的,所以說(shuō),第1次試探與第26!次試探的正確概率在理論上是相等的。理論上可知,只有我們得到所有26100%正確的破譯結(jié)果,即使符合語(yǔ)法與構(gòu)詞規(guī)則的破譯結(jié)果只有一個(gè),我們也需要等到程序全部運(yùn)行完畢才能得知。而一個(gè)窮舉算法的實(shí)現(xiàn)程序的運(yùn)行時(shí)間是我們所不能接受的上圖是我們測(cè)試的10分鐘試探的秘鑰數(shù)量, 種,10分鐘僅為程序運(yùn)行全部時(shí)間7.486*10-18%從這個(gè)運(yùn)行結(jié)果,我們可以得知,窮舉法在理論上,完全運(yùn)行后是可以得到最精準(zhǔn)的破譯結(jié)果的,但是實(shí)際上,我們并不能接受程序運(yùn)行的等待時(shí)間,也并不希望計(jì)算機(jī)進(jìn)行該算法所需的巨大運(yùn)算量。另外,如果密文短小,得到的符合語(yǔ)料庫(kù)資料的破譯結(jié)果較多時(shí),人工判別不可或缺。頻率分析算法:0.023但是字典樹(shù)分析算法對(duì)于樣本密文的破譯卻出現(xiàn)了 種結(jié)果。這是由于樣本密文的篇幅問(wèn)題致的,樣本密文只含有70詞。經(jīng)過(guò)測(cè)試與計(jì)算,我們得到一個(gè)大致結(jié)果,該算法在密文有40-50以上時(shí),可以得到1到2種破譯結(jié)果,但是在破譯100詞以上時(shí),基本可以完美破譯六、結(jié)AA選擇字典樹(shù)dfs算法與頻率分析算法是優(yōu)于窮舉算法的。字典樹(shù)dfs算法提供了更快的運(yùn)算時(shí)間,破譯結(jié)果也是可以認(rèn)為基本精準(zhǔn)的B類密文:B類密文屬于頻率分析算法所不適用的密文類型,所以在這里我們只考慮窮舉算法與字典樹(shù)dfs算法。由于密文簡(jiǎn)短,窮舉的每次試探需要時(shí)間較短,且實(shí)際dfs算法在短小密文的破譯上需要較多的人工選擇來(lái)排除輸出結(jié)果中的明所以,對(duì)于B類密文字典樹(shù)dfs算法與窮舉算法都是可取的,50詞以上,由于已經(jīng)達(dá)到字典樹(shù)dfs算法的期望能過(guò)得到較少破譯結(jié)果的密文結(jié)果,可以考慮字典樹(shù)dfs算法C類密文:C類密文由其時(shí)效性,篇幅又并不很長(zhǎng),顯然是運(yùn)行時(shí)間最短的字典樹(shù)dfs算法最優(yōu)。但是若此算法不能破譯,我們可以選擇窮舉算法,取其第一個(gè)達(dá)到我們七、模型的改進(jìn)根據(jù)算法分析與,我們可以看出,字典樹(shù)dfs算法的運(yùn)用范圍最為廣泛,并且具由于該模型沒(méi)有使用頻率分析等方法,所以可以輕松地從英語(yǔ)推廣到其他任何語(yǔ)八、模型的評(píng)價(jià)模型的優(yōu)點(diǎn) 模型的缺點(diǎn)《單字母替換及實(shí)例》,http 《03-密碼學(xué)基礎(chǔ)(二)-古典密碼算法》,http 《 cipher》 /scbsolvr.html,2015-4- ,《基于頻率分析的代替破譯方法及其程序?qū)崿F(xiàn)》,《福建電腦》,2006年09期《字典樹(shù)模板及解析》 /link?url=ELyoWB2lDKhAYdFNPA1-字母頻率百,2015-4-附附錄1//下文中替換規(guī)a->ba被替換usingnamespacecharFILEFILEFILE#defineMAXWN //密文中單詞個(gè)數(shù)的上struct{charlex[30];//單個(gè)單詞長(zhǎng)度最大為int //該單詞的長(zhǎng)int //該單詞在密文中是第幾個(gè)出現(xiàn)int //10表示是單booloperator<(constnode&oth)const//{if(lenn!=oth.lenn)returnelsereturn 24}a[MAXWN];//存密26intF[MAXWN];//F[i]iF[i]個(gè)位置,排序后得到,intword_num;//intdictionary_num;//字典中單詞總數(shù),由實(shí)際從字典文件讀入確#define //字典樹(shù)中結(jié)點(diǎn)總個(gè)數(shù)的上intf[MAXTN][26];//f[i][j]表示若在編號(hào)為i的結(jié)點(diǎn),再經(jīng)過(guò)一個(gè)字母jintv[MAXTN]; //v[i]=1表示從根結(jié)點(diǎn)出發(fā)停留在字典樹(shù)編號(hào)為i的結(jié)點(diǎn),順次經(jīng)過(guò)的字母組int //字典樹(shù)中結(jié)點(diǎn)總個(gè)數(shù),主要在構(gòu)建字典樹(shù)時(shí)用voidadd(char{intinttmp=0;0的根節(jié)for(inti=0;i<len;{if(f[tmp][s[i]-'a']==- //如果從tmp出發(fā)經(jīng)過(guò)字母s[i]到達(dá)的結(jié)點(diǎn)還沒(méi)有f[tmp][s[i]- //新建之,編號(hào)為tmp=f[tmp][s[i]-'a'];//經(jīng)過(guò)一個(gè)字母s[i],tmp v[tmp]=1;//最后停留在編號(hào)為tmp是一個(gè)字典里的單4647intvis[26];//a->b(0<=a<26,0<=b<26),vis[a]=b;vis[a]==-1a->?(a被替換成什換成b當(dāng)前未知)49intstartx,endx;//當(dāng)前指定的要求的單詞為從a[beginx,endx]里所有單50intsuccessful_sol;//成功的方案void{/*如果有替換規(guī)則a->b,b->c,c || vvbc for(inti=0;i<26; for(inti=0;i<26;fprintf(f3,"|for(inti=0;i<26;for(inti=0;i<26;for(inti=0;i<word_num;{if //如果是標(biāo)點(diǎn)符號(hào)直接輸出標(biāo)點(diǎn)符 //否則對(duì)每個(gè)字母后輸{ if(i>0&&a[F[i-fprintf(f3," fprintf(f3,"%c",ans[a[F[i]].lex[j]- 88voiddfs(intx,inty,int//當(dāng)前已到從第x的單詞的第y位,第x個(gè)單詞后停留在字典樹(shù)的第tmp號(hào)結(jié){if(x==endx+1) //第endx個(gè)單詞也完成,能找到一種替換規(guī)則所有被指定的{ if if //到第x個(gè)單詞的第len(x)位,即已知道第x個(gè)單詞各字母由什么母加密而{if(v[tmp])//如果按這種規(guī)則后的第x個(gè)單詞是字典中的單 //從第x+1個(gè)單詞的第0位開(kāi)始,停留在字典樹(shù)的0號(hào)根節(jié)} ////如果單詞x的前y-1位加上i構(gòu)不成任何單詞的前綴,則不可能i->單詞x的y{if(vis[i]==-1&&ans[a[x].lex[y]-'a']==-//i->??->xy{ 密,當(dāng)前停留結(jié)點(diǎn)編號(hào)做相應(yīng)改vis[i]=-ans[a[x].lex[y]-'a']=-}{ 127intvoid{ 第i個(gè)140voidread_passage()//從密文文件中讀入所有以空白字符隔開(kāi)的字符串,處理掉標(biāo)點(diǎn)符號(hào)后以單詞形式存a數(shù)組{charwhile{ if(cc==' if elseif ififif {ifif iffor(inti=0;i<word_num; 172void{memset(f,255,sizeof(f));//字典樹(shù)初始 //字典樹(shù)初始 //字典樹(shù)初始//從字典文件讀入所有的單詞,并構(gòu)建一棵字典while{ 188int{intsize=128<<//G++擴(kuò)棧asm("movl0,%esp\nr"(p));//G++//如果編譯器是C++,應(yīng)該注釋掉上面三句,并在這個(gè)程序<cstdio>前加一 //只讀方式打開(kāi)字典文 //只讀方式打開(kāi)密文文f3=fopen("ans.txt","w");//只寫方式打開(kāi)文文 endx=word_num-212附錄二//只包含前一個(gè)程序所沒(méi)有的部#definepercent dfs_time;/

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論