【移動(dòng)應(yīng)用開(kāi)發(fā)技術(shù)】C++ 從零單排(4)- ACM二_第1頁(yè)
【移動(dòng)應(yīng)用開(kāi)發(fā)技術(shù)】C++ 從零單排(4)- ACM二_第2頁(yè)
【移動(dòng)應(yīng)用開(kāi)發(fā)技術(shù)】C++ 從零單排(4)- ACM二_第3頁(yè)
免費(fèi)預(yù)覽已結(jié)束,剩余1頁(yè)可下載查看

下載本文檔

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

文檔簡(jiǎn)介

【移動(dòng)應(yīng)用開(kāi)發(fā)技術(shù)】C++從零單排(4)-ACM二

繼續(xù)刷水題?。?!這次要搞zoj的題目,Let'sgo!Quicksum/網(wǎng)上第2812題Quicksum是一行字符串(數(shù)據(jù)包)中每個(gè)字符的位置與該字符的值的乘積之和。空格的值是0,字母的值等于它在字母表中的位置。所以,A的值是1,B的值是2,依此類(lèi)推,Z的值是26。下面兩個(gè)例子是求“ACM”和“MIDCENTRAL”的Quicksum:ACM:1*1+2*3+3*13=46MIDCENTRAL:1*13+2*9+3*4+4*0+5*3+6*5+7*14+8*20+9*18+10*1+11*12=650思路:用getline全部讀進(jìn)來(lái),然后挨個(gè)處理就可以了。C++實(shí)現(xiàn)(注意ifstreamcin("aaa.txt");是在調(diào)試的時(shí)候才用的,提交代碼的時(shí)候需要注釋掉):#include<iostream>#include<fstream>usingnamespacestd;intmain(){ifstreamcin("aaa.txt");charch[256];inti=1;intsum=0;while(cin.getline(ch,256)){if(ch[0]=='#')break;for(inti=0;ch[i]!='\0';i++){if(ch[i]!='')sum=sum+(i+1)*(ch[i]-64);}cout<<sum<<endl;sum=0;}return0;}/網(wǎng)上第2478題把一個(gè)字符串中連續(xù)重復(fù)的字母從左到右寫(xiě)成kX的形式,如果k是1,那么,1就要省略。SampleInput2ABCABBCCCSampleOutputABCA2B3C思路:不斷讀取,不斷判斷是否與上一個(gè)字母相同,根據(jù)結(jié)果輸出。C++實(shí)現(xiàn):#include<iostream>#include<fstream>usingnamespacestd;intmain(){//ifstreamcin("aaa.txt");strings,t;intn;cin>>n;for(inti=0;i<n;i++){cin>>s;intc=0;t=s[0];inttmp=0;for(intj=0;j<s.size();j++){//Whencurrentletterequallastletterif(s[j]==t[0]){tmp++;//Whencomestotheendofsif(j==s.size()-1){if(tmp==1)cout<<t[0];elsecout<<tmp<<t[0];}}//Whencurrentletterdonotequallastletterelse{if(tmp==1)cout<<t[0];elsecout<<tmp<<t[0];t[0]=s[j];tmp=1;if(j==s.size()-1){if(tmp==1)cout<<t[0];elsecout<<tmp<<t[0];}}}cout<<endl;s="";}return0;}Abbreviation/網(wǎng)上第2947題比較兩個(gè)縮寫(xiě)詞是否相同,而縮寫(xiě)詞又是從一個(gè)包含多個(gè)單詞的名字中合成的。每次讀入一個(gè)單詞,然后取出它的第一個(gè)字母,連接在字符串上,就組成了一個(gè)縮寫(xiě)詞。SampleInput34SuperHarddiscDriveCooler4SpadeHeartDiamondClub3ShenGuangHao3ShuaiGeHao3CaiPiaoGe4CPCSSampleOutputSAMESAMEDIFFERENT思路:挨個(gè)讀取單詞,將首字母存在string中,最后進(jìn)行比較。C++實(shí)現(xiàn):#include<iostream>#include<fstream>#include<string>usingnamespacestd;intmain(){ifstreamcin("aaa.txt");strings,ssa,ssb;intt,n,m;cin>>t;for(inti=0;i<t;i++){cin>>n;for(intj=0;j<n;j++){cin>>s;ssa=ssa+s[0];}cin>>m;for(intk=0;k<m;k++){cin>>s;ssb=ssb+s[0];}if(pare(ssb)==0)printf("SAME\n");elseprintf("DIFFERENT\n");ssa="";ssb="";}return0;}ImageTransformation/網(wǎng)上第2857題把RGB圖像轉(zhuǎn)換為灰度圖像的一種最簡(jiǎn)便的方法是:把一個(gè)像素的紅、綠和藍(lán)的值都設(shè)置為一個(gè)相同的值(即(r+g+b)/3,這里假定(r+g+b)總能被3整除)。你決定編寫(xiě)一個(gè)程序來(lái)測(cè)試這種方法的有效性。思路:統(tǒng)計(jì)每個(gè)通道的值,除以像素的個(gè)數(shù)。C++實(shí)現(xiàn):#include<iostream>#include<fstream>#include<string>#include<vector>usingnamespacestd;intmain(){//ifstreamcin("aaa.txt");vector<int>r;vector<int>g;vector<int>b;intn,m;intrr,gg,bb;intw=0;while(cin>>n>>m){r.clear();g.clear();b.clear();w++;if(n==0&&m==0)break;for(inti=0;i<n*m;i++){cin>>rr;r.push_back(rr);}for(intj=0;j<n*m;j++){cin>>gg;g.push_back(gg);}for(intk=0;k<n*m;k++){cin>>bb;b.push_back(bb);}cout<<"Case"<<w<<":"<<endl;for(intp=0;p<n*m;p++){cout<<(r[p]+g[p]+b[p])/3;if((p+1)%m==0)cout<<endl;elsecout<<",";}}return0;}ErrorCorrection/網(wǎng)上第1949題一個(gè)布爾矩陣有一種奇偶性,即該矩陣所有行和所有列的和都是一個(gè)偶數(shù)。編寫(xiě)一個(gè)程序,讀入這個(gè)矩陣并檢查它是否具有奇偶性。如果沒(méi)有,你的程序應(yīng)當(dāng)再檢查一下它是否可以通過(guò)修改一位(把0修改為1,把1修改為0)來(lái)使它具有奇偶性。如果不可能,這個(gè)矩陣就被認(rèn)為是破壞了。思路:統(tǒng)計(jì)矩陣中行和列中1的個(gè)數(shù),判斷是否為偶數(shù)。都為偶數(shù)的話(huà),說(shuō)明有奇偶性,否則再判斷,當(dāng)只有一行的和是奇數(shù)且只有一列的和為奇數(shù),那么,將這兩行交點(diǎn)處的元素修改一下,就變成具有parityproperty(奇偶性)的矩陣了。這里還要清楚的一點(diǎn)是,在一個(gè)矩陣中,任何一行與任何一列都有且僅有一個(gè)交點(diǎn)。C++實(shí)現(xiàn):#include<iostream>#include<fstream>#include<string>#include<vector>usingnamespacestd;intmatrix[100][100];intSL[100];intSC[100];intmain(){ifstreamcin("aaa.txt");inti,j,PL,PC,CountL,CountC;intn;while(cin>>n){if(n==0)break;PL=0;PC=0;CountL=0;CountC=0;for(i=0;i<n;i++){SL[i]=0;SC[i]=0;}for(i=0;i<n;i++){for(j=0;j<n;j++){cin>>matrix[i][j];SL[i]=SL[i]+matrix[i][j];SC[j]=SC[j]+matrix[i][j];}}for(i=0;i<n;i++){if(SL[i]%2!=0){PL=i;//RecordtherowCountL++;}if(SC[i]%2!=0){PC=i;//Recordtheline

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 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ì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論