版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
2023藍(lán)橋杯c-c++B組省賽試題及解析第一題煤球數(shù)目有一堆煤球,堆成三角棱錐形。具體:第一層放1個(gè),第二層3個(gè)(排列成三角形),第三層6個(gè)(排列成三角形),第四層10個(gè)(排列成三角形),....如果一共有100層,共有多少個(gè)煤球?請(qǐng)?zhí)畋硎久呵蚩倲?shù)目的數(shù)字。注意:你提交的應(yīng)該是一個(gè)整數(shù),不要填寫(xiě)任何多余的內(nèi)容或說(shuō)明性文字。答案:171700#include<stdio.h>intmain(){inta[101]={0};for(inti=1;i<101;i++)a[i]=a[i-1]+i;intans=0;for(intj=1;j<101;j++)ans+=a[j];printf("%d\n",ans);return0;}第二題生日蠟燭某君從某年開(kāi)始每年都舉辦一次生日party,并且每次都要吹熄與年齡相同根數(shù)的蠟燭?,F(xiàn)在算起來(lái),他一共吹熄了236根蠟燭。請(qǐng)問(wèn),他從多少歲開(kāi)始過(guò)生日party的?請(qǐng)?zhí)顚?xiě)他開(kāi)始過(guò)生日party的年齡數(shù)。注意:你提交的應(yīng)該是一個(gè)整數(shù),不要填寫(xiě)任何多余的內(nèi)容或說(shuō)明性文字。答案:26#include<stdio.h>intmain(){intstart,end;for(start=1;start<236;start++){for(end=start;end<236;end++){intsum=0;for(inti=start;i<=end;i++)sum+=i;if(sum==236){printf("start:%dend:%d\n",start,end);}}}return0;}第三題湊算式BDEFA+---+-------=10CGHI(如果顯示有問(wèn)題,可以參見(jiàn)【圖1.jpg】)這個(gè)算式中A~I代表1~9的數(shù)字,不同的字母代表不同的數(shù)字。比如:6+8/3+952/714就是一種解法,5+3/1+972/486是另一種解法。這個(gè)算式一共有多少種解法?注意:你提交應(yīng)該是個(gè)整數(shù),不要填寫(xiě)任何多余的內(nèi)容或說(shuō)明性文字。答案:29#include<stdio.h>intans=0;intnum[10];boolvisit[10];voidSolve(){doublesum=num[0]+(double)num[1]/num[2]+(double)(num[3]*100+num[4]*10+num[5])/(num[6]*100+num[7]*10+num[8]);if(sum==10){ans++;}}voiddfs(intindex){if(index==9){Solve();return;}for(inti=1;i<10;i++){if(!visit[i]){visit[i]=true;num[index]=i;dfs(index+1);visit[i]=false;}}}intmain(){dfs(0);printf("%d\n",ans);return0;}第四題快速排序排序在各種場(chǎng)合經(jīng)常被用到??焖倥判蚴鞘殖S玫母咝实乃惴?。其思想是:先選一個(gè)“標(biāo)尺”,用它把整個(gè)隊(duì)列過(guò)一遍篩子,以保證:其左邊的元素都不大于它,其右邊的元素都不小于它。這樣,排序問(wèn)題就被分割為兩個(gè)子區(qū)間。再分別對(duì)子區(qū)間排序就可以了。下面的代碼是一種實(shí)現(xiàn),請(qǐng)分析并填寫(xiě)劃線(xiàn)部分缺少的代碼。#include<stdio.h>voidswap(inta[],inti,intj){intt=a[i];a[i]=a[j];a[j]=t;}intpartition(inta[],intp,intr){inti=p;intj=r+1;intx=a[p];while(1){while(i<r&&a[++i]<x);while(a[--j]>x);if(i>=j)break;swap(a,i,j);}______________________;returnj;}voidquicksort(inta[],intp,intr){if(p<r){intq=partition(a,p,r);quicksort(a,p,q-1);quicksort(a,q+1,r);}}intmain(){inti;inta[]={5,13,6,24,2,8,19,27,6,12,1,17};intN=12;quicksort(a,0,N-1);for(i=0;i<N;i++)printf("%d",a[i]);printf("\n");return0;}注意:只填寫(xiě)缺少的內(nèi)容,不要書(shū)寫(xiě)任何題面已有代碼或說(shuō)明性文字。答案:swap(a,p,j)第五題抽簽X星球要派出一個(gè)5人組成的觀(guān)察團(tuán)前往W星。其中:A國(guó)最多可以派出4人。B國(guó)最多可以派出2人。C國(guó)最多可以派出2人。....那么最終派往W星的觀(guān)察團(tuán)會(huì)有多少種國(guó)別的不同組合呢?下面的程序解決了這個(gè)問(wèn)題。數(shù)組a[]中既是每個(gè)國(guó)家可以派出的最多的名額。程序執(zhí)行結(jié)果為:DEFFFCEFFFCDFFFCDEFFCCFFFCCEFFCCDFFCCDEFBEFFFBDFFFBDEFFBCFFFBCEFFBCDFFBCDEF....(以下省略,總共101行)#include<stdio.h>#defineN6#defineM5#defineBUF1024voidf(inta[],intk,intm,charb[]){inti,j;if(k==N){b[M]=0;if(m==0)printf("%s\n",b);return;}for(i=0;i<=a[k];i++){for(j=0;j<i;j++)b[M-m+j]=k+'A';______________________;//填空位置}}intmain(){inta[N]={4,2,2,1,1,3};charb[BUF];f(a,0,M,b);return0;}仔細(xì)閱讀代碼,填寫(xiě)劃線(xiàn)部分缺少的內(nèi)容。注意:不要填寫(xiě)任何已有內(nèi)容或說(shuō)明性文字。答案f(a,k+1,m-j,b)或f(a,k+1,m-i,b)第六題方格填數(shù)如下的10個(gè)格子+--+--+--+||||+--+--+--+--+|||||+--+--+--+--+||||+--+--+--+(如果顯示有問(wèn)題,也可以參看【圖1.jpg】)填入0~9的數(shù)字。要求:連續(xù)的兩個(gè)數(shù)字不能相鄰。(左右、上下、對(duì)角都算相鄰)一共有多少種可能的填數(shù)方案?請(qǐng)?zhí)顚?xiě)表示方案數(shù)目的整數(shù)。注意:你提交的應(yīng)該是一個(gè)整數(shù),不要填寫(xiě)任何多余的內(nèi)容或說(shuō)明性文字。圖1.jpg圖1.jpg答案是:1580#include<stdio.h>#include<math.h>intflag[3][4];//表示哪些可以填數(shù)intmpt[3][4];//填數(shù)boolvisit[10];intans=0;voidinit()//初始化{inti,j;for(i=0;i<3;i++)for(j=0;j<4;j++)flag[i][j]=1;flag[0][0]=0;flag[2][3]=0;}voidSolve(){intdir[8][2]={0,1,0,-1,1,0,-1,0,1,1,1,-1,-1,1,-1,-1};intbook=true;for(inti=0;i<3;i++){for(intj=0;j<4;j++){//判斷每個(gè)數(shù)周?chē)欠駶M(mǎn)足if(flag[i][j]==0)continue;for(intk=0;k<8;k++){intx,y;x=i+dir[k][0];y=j+dir[k][1];if(x<0||x>=3||y<0||y>=4||flag[x][y]==0)continue;if(abs(mpt[x][y]-mpt[i][j])==1)book=false;}}}if(book)ans++;}voiddfs(intindex){intx,y;x=index/4;y=index%4;if(x==3){Solve();return;}if(flag[x][y]){for(inti=0;i<10;i++){if(!visit[i]){visit[i]=true;mpt[x][y]=i;dfs(index+1);visit[i]=false;}}}else{dfs(index+1);}}intmain(){init();dfs(0);printf("%d\n",ans);return0;}第七題剪郵票如【圖1.jpg】,有12張連在一起的12生肖的郵票?,F(xiàn)在你要從中剪下5張來(lái),要求必須是連著的。(僅僅連接一個(gè)角不算相連)比如,【圖2.jpg】,【圖3.jpg】中,粉紅色所示部分就是合格的剪取。請(qǐng)你計(jì)算,一共有多少種不同的剪取方法。請(qǐng)?zhí)顚?xiě)表示方案數(shù)目的整數(shù)。注意:你提交的應(yīng)該是一個(gè)整數(shù),不要填寫(xiě)任何多余的內(nèi)容或說(shuō)明性文字。圖1.jpg圖2.jpg圖1.jpg圖2.jpg圖3.jpg圖3.jpg答案:116#include<stdio.h>#include<string.h>intmpt[3][4];intmpt_visit[3][4];intnum[6];inthave[13];intvisit[13];intans=0;intCount=0;voidinit(){intk=1;for(inti=0;i<3;i++)for(intj=0;j<4;j++){mpt[i][j]=k;k++;}}intdir[4][2]={0,1,0,-1,-1,0,1,0};//判斷五個(gè)數(shù)是否能連在一起voiddfs_find(intx,inty){for(inti=0;i<4;i++){inttx,ty;tx=x+dir[i][0];ty=y+dir[i][1];if(tx<0||tx>=3||ty<0||ty>=4)continue;if(have[mpt[tx][ty]]==0||mpt_visit[tx][ty])continue;mpt_visit[tx][ty]=1;Count++;dfs_find(tx,ty);}}voidSolve(){inti;memset(have,0,sizeof(have));memset(mpt_visit,0,sizeof(mpt_visit));for(i=1;i<6;i++)have[num[i]]=1;for(i=0;i<12;i++){intx,y;x=i/4;y=i%4;if(have[mpt[x][y]]){Count=1;mpt_visit[x][y]=1;dfs_find(x,y);break;}}if(Count==5){ans++;}}//創(chuàng)建5個(gè)數(shù)的組合voiddfs_creat(intindex){if(index==6){Solve();return;}for(inti=num[index-1]+1;i<13;i++){if(!visit[i]){visit[i]=true;num[index]=i;dfs_creat(index+1);visit[i]=false;}}}intmain(){init();dfs_creat(1);printf("%d\n",ans);return0;}第八題四平方和四平方和定理,又稱(chēng)為拉格朗日定理:每個(gè)正整數(shù)都可以表示為至多4個(gè)正整數(shù)的平方和。如果把0包括進(jìn)去,就正好可以表示為4個(gè)數(shù)的平方和。比如:5=0^2+0^2+1^2+2^27=1^2+1^2+1^2+2^2(^符號(hào)表示乘方的意思)對(duì)于一個(gè)給定的正整數(shù),可能存在多種平方和的表示法。要求你對(duì)4個(gè)數(shù)排序:0<=a<=b<=c<=d并對(duì)所有的可能表示法按a,b,c,d為聯(lián)合主鍵升序排列,最后輸出第一個(gè)表示法程序輸入為一個(gè)正整數(shù)N(N<5000000)要求輸出4個(gè)非負(fù)整數(shù),按從小到大排序,中間用空格分開(kāi)例如,輸入:5則程序應(yīng)該輸出:0012再例如,輸入:12則程序應(yīng)該輸出:0222再例如,輸入:773535則程序應(yīng)該輸出:11267838資源約定:峰值內(nèi)存消耗<256MCPU消耗<3000ms請(qǐng)嚴(yán)格按要求輸出,不要畫(huà)蛇添足地打印類(lèi)似:“請(qǐng)您輸入...”的多余內(nèi)容。所有代碼放在同一個(gè)源文件中,調(diào)試通過(guò)后,拷貝提交該源碼。注意:main函數(shù)需要返回0注意:只使用ANSIC/ANSIC++標(biāo)準(zhǔn),不要調(diào)用依賴(lài)于編譯環(huán)境或操作系統(tǒng)的特殊函數(shù)。注意:所有依賴(lài)的函數(shù)必須明確地在源文件中#include<xxx>,不能通過(guò)工程設(shè)置而省略常用頭文件。提交時(shí),注意選擇所期望的編譯器類(lèi)型。答案:方法一:#include<stdio.h>#include<math.h>intmain(){intn;intflag=false;scanf("%d",&n);for(inti=0;i*i<=n;i++){for(intj=0;j*j<=n;j++){for(intk=0;k*k<=n;k++){inttemp=n-i*i-j*j-k*k;doublel=sqrt((double)temp);if(l==(int)l){printf("%d%d%d%d\n",i,j,k,(int)l);flag=true;break;}}if(flag)break;}if(flag)break;}return0;}方法二:#include<stdio.h>#include<math.h>intmpt[5000010]={0};//mpt[i]=1表示i能夠用兩個(gè)完全平方數(shù)相加而得。intn;voidinit(){for(inti=0;i*i<=n;i++)for(intj=0;j*j<=n;j++)if(i*i+j*j<=n)mpt[i*i+j*j]=1;}intmain(){intflag=false;scanf("%d",&n);init();for(inti=0;i*i<=n;i++){for(intj=0;j*j<=n;j++){if(mpt[n-i*i-j*j]==0)continue;//如果剩下的差用兩個(gè)完全平方數(shù)不能組合出來(lái)就不繼續(xù)for(intk=0;k*k<=n;k++){inttemp=n-i*i-j*j-k*k;doublel=sqrt((double)temp);if(l==(int)l){printf("%d%d%d%d\n",i,j,k,(int)l);flag=true;break;}}if(flag)break;}if(flag)break;}return0;}第九題交換瓶子有N個(gè)瓶子,編號(hào)1~N,放在架子上。比如有5個(gè)瓶子:21354要求每次拿起2個(gè)瓶子,交換它們的位置。經(jīng)過(guò)若干次后,使得瓶子的序號(hào)為:12345對(duì)于這么簡(jiǎn)單的情況,顯然,至少需要交換2次就可以復(fù)位。如果瓶子更多呢?你可以通過(guò)編程來(lái)解決。輸入格式為兩行:第一行:一個(gè)正整數(shù)N(N<10000),表示瓶子的數(shù)目第二行:N個(gè)正整數(shù),用空格分開(kāi),表示瓶子目前的排列情況。輸出數(shù)據(jù)為一行一個(gè)正整數(shù),表示至少交換多少次,才能完成排序。例如,輸入:531254程序應(yīng)該輸出:3再例如,輸入:554321程序應(yīng)該輸出:2資源約定:峰值內(nèi)存消耗<256MCPU消耗<1000ms請(qǐng)嚴(yán)格按要求輸出,不要畫(huà)蛇添足地打印類(lèi)似:“請(qǐng)您輸入...”的多余內(nèi)容。所有代碼放在同一個(gè)源文件中,調(diào)試通過(guò)后,拷貝提交該源碼。注意:main函數(shù)需要返回0注意:只使用ANSIC/ANSIC++標(biāo)準(zhǔn),不要調(diào)用依賴(lài)于編譯環(huán)境或操作系統(tǒng)的特殊函數(shù)。注意:所有依賴(lài)的函數(shù)必須明確地在源文件中#include<xxx>,不能通過(guò)工程設(shè)置而省略常用頭文件。提交時(shí),注意選擇所期望的編譯器類(lèi)型。第十題最大比例X星球的某個(gè)大獎(jiǎng)賽設(shè)了M級(jí)獎(jiǎng)勵(lì)。每個(gè)級(jí)別的獎(jiǎng)金是一個(gè)正整數(shù)。并且,相鄰的兩個(gè)級(jí)別間的比例是個(gè)固定值。也就是說(shuō):所有級(jí)別的獎(jiǎng)金數(shù)構(gòu)成了一個(gè)等比數(shù)列。比如:16,24,36,54其等比值為:3/2現(xiàn)在,我們隨機(jī)調(diào)查了一些獲獎(jiǎng)?wù)叩莫?jiǎng)金數(shù)。請(qǐng)你據(jù)此推算可能的最大的等比值。輸入格式:第一行為數(shù)字N(0<N<100),表示接下的一行包含N個(gè)正整數(shù)第二行N個(gè)正整數(shù)Xi(Xi<1000000000000),用空格分開(kāi)。每個(gè)整數(shù)表示調(diào)查到的某人的獎(jiǎng)金數(shù)額要求輸出:一個(gè)形如A/B的分?jǐn)?shù),要求A、B互質(zhì)。表示可能的最大比例系數(shù)測(cè)試數(shù)據(jù)保證了輸入格式正確,并且最大比例是存在的。例如,輸入:3125020032程序應(yīng)該輸出:25/4再例如,輸入:431253232200程序應(yīng)該輸出:5/2再例如,輸入:35497558138885242882程序應(yīng)該輸出:4/1資源約定:峰值內(nèi)存消耗<256MCPU消耗<3000ms請(qǐng)嚴(yán)格按要求輸出,不要畫(huà)蛇添足地打印類(lèi)似:“請(qǐng)您輸入...”的多余內(nèi)容。所有代碼放在同一個(gè)源文件中,調(diào)試通過(guò)后,拷貝提交該源碼。注意:main函數(shù)需要返回0注意:只使用ANSIC/ANSIC++標(biāo)準(zhǔn),不要調(diào)用依賴(lài)于編譯環(huán)境或操作系統(tǒng)的特殊函數(shù)。注意:所有依賴(lài)的函數(shù)必須明確地在源文件中#include<xxx>,不能通過(guò)工程設(shè)置而省略常用頭文件。提交時(shí),注意選擇所期望的編譯器類(lèi)型。答案:#include<stdio.h>#include<algorithm>#include<queue>usingnamespacestd;#defineLLlonglongstructfs{LLup,down;};intn;LLarr[110];fsFs[110];boolcmp(LLa,LLb){returna>b;}LLGcd(LLa,LLb){if(b==0)returna;returnGcd(b,a%b);}LLGet(LLa,LLb){if(a<b)a^=b^=a^=b;LLv[30];queue<LL>team;if(a==b||a/b==a)returnb;v[0]=a,v[1]=b;v[2]=a/b;inttop=3,i,j;team.push(a/b);while(team.size()){LLnow=team.front();team.pop();for(i=0;i<to
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 整合供應(yīng)鏈課程設(shè)計(jì)
- 紅樓夢(mèng)鑒賞課程設(shè)計(jì)
- 社區(qū)環(huán)境保護(hù)與可持續(xù)發(fā)展策略考核試卷
- 電子元件可靠性測(cè)試考核試卷
- 2024年度廣西壯族自治區(qū)國(guó)家保安員資格考試模擬預(yù)測(cè)參考題庫(kù)及答案
- 滌綸纖維在戶(hù)外運(yùn)動(dòng)場(chǎng)地設(shè)施建設(shè)中的應(yīng)用創(chuàng)新與案例分享考核試卷
- 照明器具制造企業(yè)運(yùn)營(yíng)管理考核試卷
- 殯葬行業(yè)電動(dòng)汽車(chē)充電需求分析考核試卷
- 核子儀表在核設(shè)施運(yùn)行維護(hù)中的可靠性分析考核試卷
- 畜牧養(yǎng)殖技術(shù)培訓(xùn)與職業(yè)技能提升考核試卷
- 煙花爆竹經(jīng)營(yíng)
- 手消毒液使用率低品管圈課件
- 總裁辦公室度工作總結(jié)
- 2023年中考語(yǔ)文二輪復(fù)習(xí):標(biāo)點(diǎn)符號(hào) 真題練習(xí)題匯編(含答案解析)
- 偏身舞蹈癥的護(hù)理查房
- 抑郁障礙患者的溝通技巧課件
- 《涵洞施工技術(shù)》課件
- 護(hù)理人才梯隊(duì)建設(shè)規(guī)劃方案
- 考試保密培訓(xùn)課件教學(xué)
- 睡眠區(qū)布局設(shè)計(jì)打造舒適宜人的睡眠環(huán)境
- 2024年廣西玉林市自來(lái)水公司招聘筆試參考題庫(kù)含答案解析
評(píng)論
0/150
提交評(píng)論