小晨的電腦上安裝了一個(gè)機(jī)器翻譯軟件,他經(jīng)常用這個(gè)軟件來翻譯英語文章。這個(gè)翻譯軟件的原理很簡(jiǎn)單,它只是從頭到尾,依次將每個(gè)英文單詞用對(duì)應(yīng)的中文含義來替換。對(duì)于每個(gè)英文單詞,軟件會(huì)先在內(nèi)存中查找這個(gè)單詞的中文含義,如果內(nèi)存中有,軟件就會(huì)用它進(jìn)行翻譯;如果內(nèi)存中沒有,軟件就會(huì)在外存中的詞典內(nèi)查找,查出單詞的中文含義然后翻譯,并將這個(gè)單詞和譯義放入內(nèi)存,以備后續(xù)的查找和翻譯。假設(shè)內(nèi)存中有M 個(gè)單元,每單元能存放一個(gè)單詞和譯義。每當(dāng)軟件將一個(gè)新單詞存入內(nèi)存前,如果當(dāng)前內(nèi)存中已存入的單詞數(shù)不超過M?1,軟件會(huì)將新單詞存入一個(gè)未使用的內(nèi)存單元;若內(nèi)存中已存入M 個(gè)單詞,軟件會(huì)清空最早進(jìn)入內(nèi)存的那個(gè)單詞,騰出單元來,存放新單詞。假設(shè)一篇英語文章的長(zhǎng)度為N 個(gè)單詞。給定這篇待譯文章,翻譯軟件需要去外存查找多少次詞典?假設(shè)在翻譯開始前,內(nèi)存中沒有任何單詞?!据斎搿枯斎胛募麨閠ranslate.in,輸入文件共2 行。每行中兩個(gè)數(shù)之間用一個(gè)空格隔開。第一行為兩個(gè)正整數(shù)M 和N,代表內(nèi)存容量和文章的長(zhǎng)度。第二行為N 個(gè)非負(fù)整數(shù),按照文章的順序,每個(gè)數(shù)(大小不超過1000)代表一個(gè)英文單詞。文章中兩個(gè)單詞是同一個(gè)單詞,當(dāng)且僅當(dāng)它們對(duì)應(yīng)的非負(fù)整數(shù)相同?!据敵觥枯敵鑫募ranslate.out 共1 行,包含一個(gè)整數(shù),為軟件需要查詞典的次數(shù)?!据斎胼敵鰳永?】translate.in translate.out 3 7 1 2 1 5 4 4 15我的程序:#include<iostream>using namespace std;int main(){int wow,y,o=1,m,n,a[10000]={23211},b[10000],k=0;cin>>m>>n;for(int i=1;i<=n;i++)cin>>b[i];for(y=1;y<=n;y++){wow=1;for(int u=1;u<=m;u++){if(a[u]==b[y])break;for(int p=1;p<=m;p++)if(a[p]==b[y])wow=0;if(wow==1){if(o<=m){a[o]=b[y];o++;k++;}if(o>m){o=1;a[o]=b[y];o++;k++;}}}}cout<<k;}
C++入門程序
動(dòng)漫人物
2018-06-28 06:06:33