![網(wǎng)易筆試編程題2016_第1頁](http://file3.renrendoc.com/fileroot_temp3/2021-12/18/fd1b1338-cc78-461c-a9cb-d0b73700368f/fd1b1338-cc78-461c-a9cb-d0b73700368f1.gif)
![網(wǎng)易筆試編程題2016_第2頁](http://file3.renrendoc.com/fileroot_temp3/2021-12/18/fd1b1338-cc78-461c-a9cb-d0b73700368f/fd1b1338-cc78-461c-a9cb-d0b73700368f2.gif)
![網(wǎng)易筆試編程題2016_第3頁](http://file3.renrendoc.com/fileroot_temp3/2021-12/18/fd1b1338-cc78-461c-a9cb-d0b73700368f/fd1b1338-cc78-461c-a9cb-d0b73700368f3.gif)
![網(wǎng)易筆試編程題2016_第4頁](http://file3.renrendoc.com/fileroot_temp3/2021-12/18/fd1b1338-cc78-461c-a9cb-d0b73700368f/fd1b1338-cc78-461c-a9cb-d0b73700368f4.gif)
![網(wǎng)易筆試編程題2016_第5頁](http://file3.renrendoc.com/fileroot_temp3/2021-12/18/fd1b1338-cc78-461c-a9cb-d0b73700368f/fd1b1338-cc78-461c-a9cb-d0b73700368f5.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、編程題 小易的升級之路小易經(jīng)常沉迷于網(wǎng)絡(luò)游戲.有一次,他在玩一個打怪升級的游戲,他的角色的初始能力值為 a.在接下來的一段時間內(nèi),他將會依次遇見n個怪物,每個怪物的防御力為b1,b2,b3.bn. 如果遇到的怪物防御力bi小于等于小易的當(dāng)前能力值c,那么他就能輕松打敗怪物,并 且使得自己的能力值增加bi;如果bi大于c,那他也能打敗怪物,但他的能力值只能增加bi 與c的最大公約數(shù).那么問題來了,在一系列的鍛煉后,小易的最終能力值為多少?輸入描述:對于每組數(shù)據(jù),第一行是兩個整數(shù)n(1n<100000)表示怪物的數(shù)量和a表示小易的初始能力值.第二行n個整數(shù),b1,b2.bn(1bin)表示每
2、個怪物的防御力輸出描述:對于每組數(shù)據(jù),輸出一行.每行僅包含一個整數(shù),表示小易的最終能力值輸入例子:3 5050 105 2005 2030 20 15 40 100輸出例子:110205#include<iostream>#include<cstdio>#include<string>#include<vector>#include<list>#include<deque>#include<stdio.h>#include<algorithm>using namespace std;/*int gc
3、d(int m,int n) return n = 0 ? m : gcd(n,m%n);*/int gcd(int a,int b) if(!b) return a; return gcd(b,a%b);int main() int n,ack,ans; while(scanf("%d%d",&n,&ack)!=EOF) while(n-) scanf("%d",&ans); if(ans>ack) ack+=gcd(ack,ans); else ack+=ans; printf("%dn",ack);
4、 return 0;編程題 炮臺攻擊蘭博教訓(xùn)提莫之后,然后和提莫討論起約德爾人,談起約德爾人,自然少不了一個人,那 就是黑默丁格-約德爾人歷史上最偉大的科學(xué)家. 提莫說,黑默丁格最近在思考一個問題:黑默丁格有三個炮臺,炮臺能攻擊到距離它R的敵人 (兩點之間的距離為兩點連續(xù)的距離,例如(3,0),(0,4)之間的距離是5),如果一個炮臺能攻擊 到敵人,那么就會對敵人造成1×的傷害.黑默丁格將三個炮臺放在N*M方格中的點上,并且給出敵人 的坐標(biāo). 問:那么敵人受到傷害會是多大?輸入描述:第一行9個整數(shù),R,x1,y1,x2,y2,x3,y3,x0,y0.R代表炮臺攻擊的最大距離,(x1,
5、y1),(x2,y2),(x3,y3)代表三個炮臺的坐標(biāo).(x0,y0)代表敵人的坐標(biāo).輸出描述:輸出一行,這一行代表敵人承受的最大傷害,(如果每個炮臺都不能攻擊到敵人,輸出0×)輸入例子:1 1 1 2 2 3 3 1 2輸出例子:2x#include<iostream>#include<stdio.h>#include<math.h>using namespace std;struct Point int x,y; Point(int x=0,int y=0):x(x),y(y)/構(gòu)造函數(shù),方便代碼編寫 Point(Point &a):
6、x(a.x),y(a.y);inline int Distance(Point A,Point B) return (A.x-B.x)*(A.x-B.x)+(A.y-B.y)*(A.y-B.y);int main() int R; Point A,B,C,P; while(scanf("%d%d%d%d%d%d%d%d%d",&R,&A.x,&A.y,&B.x,&B.y,&C.x,&C.y,&P.x,&P.y)!=EOF) int sum=0; R*=R; if(Distance(A,P)<=R)
7、 sum+; if(Distance(B,P)<=R) sum+; if(Distance(C,P)<=R) sum+; printf("%dxn",sum); return 0;/1 1 1 2 2 3 3 1 2編程題 掃描透鏡在N*M的草地上,提莫種了K個蘑菇,蘑菇爆炸的威力極大,蘭博不想貿(mào)然去闖,而且蘑菇是隱形的.只 有一種叫做掃描透鏡的物品可以掃描出隱形的蘑菇,于是他回了一趟戰(zhàn)爭學(xué)院,買了2個掃描透鏡,一個 掃描透鏡可以掃描出(3*3)方格中所有的蘑菇,然后蘭博就可以清理掉一些隱形的蘑菇. 問:蘭博最多可以清理多少個蘑菇?輸入描述:第一行三個整數(shù):N,
8、M,K,(1N,M20,K100),N,M代表了草地的大小;接下來K行,每行兩個整數(shù)x,y(1xN,1yM).代表(x,y)處提莫種了一個蘑菇.一個方格可以種無窮個蘑菇.輸出描述:輸出一行,在這一行輸出一個整數(shù),代表蘭博最多可以清理多少個蘑菇.#include<stdio.h>#include<string.h>#include<algorithm>#include<iostream>using namespace std;int m2525;int vis12525;int vis22525;int d92=-1,-1,-1,0,-1,1,0,
9、-1,0,0,0,1,1,-1,1,0,1,1;inline void sum_map(int x,int y) for(int i=0;i<9;i+) if(mx+di0y+di1>0) vis1xy+; if(mx+di0y+di1>1) vis2xy+; inline int sd_sum(int x,int y,int i,int j) if(x=i&&y=j) return vis2ij; else if(i>=x-2&&i<=x+2&&j>=y-2&&j<=y+2) int t
10、mp=0; for(int k=0;k<9;k+) int xi=i+dk0; int yi=j+dk1; if(xi>=x-1&&xi<=x+1&&yi>=y-1&&yi<=y+1) if(mxiyi>1) tmp+; else if(mxiyi>0) tmp+; /control may reach end of non-void function -Werror,-Wreturn-type return tmp;/得知原因是自己定義了一個有返回值的函數(shù),而函數(shù)結(jié)尾卻沒有返回值; else retur
11、n vis1ij;int main() int N,M,K; while(scanf("%d%d%d",&N,&M,&K)!=EOF) int x,y; memset(m,0,sizeof(m); memset(vis1,0,sizeof(vis1); memset(vis2,0,sizeof(vis2); for(int i=0;i<K;i+) scanf("%d%d",&x,&y); mxy+; for(int i=1;i<=N;i+)/打表 for(int j=1;j<=M;j+) sum_
12、map(i,j); int mmax=0; for(int i=0;i<=N;i+) for(int j=0;j<=M;j+) for(int ii=0;ii<=N;ii+) for(int jj=0;jj<=M;jj+) mmax=max(vis1ij+sd_sum(i,j,ii,jj),mmax); printf("%dn",mmax); return 0;題目來源:牛客網(wǎng)-網(wǎng)易2016年研發(fā)工程師編程題二。1. 獎學(xué)金小v今年有n門課,每門都有考試,為了拿到獎學(xué)金,小v必須讓自己的平均成績至少為avg。每門課由平時成績和考試成績組成,滿分為r。
13、現(xiàn)在他知道 每門課的平時成績?yōu)閍i ,若想讓這門課的考試成績多拿一分的話,小v要花bi 的時間復(fù)習(xí),不復(fù)習(xí)的話當(dāng)然就是0分。同時我們顯然可以發(fā)現(xiàn)復(fù)習(xí)得再多也不會拿到超過滿分的分?jǐn)?shù)。為了拿到獎學(xué)金,小v至少要花多少時間復(fù)習(xí)。輸入描述: 第一行三個整數(shù)n,r,avg(n大于等于1小于等于1e5,r大于等于1小于等于1e9,avg大于等于1小于等于1e6),接下來n行,每行兩個整數(shù)ai和bi,均小于等于1e6大于等于1輸出描述: 一行輸出答案。輸入例子: 5 10 9 0 5 9 1 8 1 0 1 9 100輸出例子: 43分析: 完成這個題目需要注意兩個問題: (1)求出最少復(fù)習(xí)時間,需要優(yōu)先選
14、擇每分的復(fù)習(xí)時間最小的課程,那么需要對<平時成績,復(fù)習(xí)時間>元素對按復(fù)習(xí)時間遞增進(jìn)行排序; (2)因為課程數(shù)很多,每分復(fù)習(xí)時間很大,所需最小復(fù)習(xí)時間需要長整型來存儲,以防溢出; (3)如果所需復(fù)習(xí)時間小于等于0,需要特殊處理。測試通過源碼:#include <iostream>#include <vector>#include <algorithm>using namespace std;bool compare(const vector<int>& vec0,const vector<int>& vec1
15、) return vec01<vec11; /升序排列int main(int argc,char* argv) int courseNum=0,maxScore=0,average=0; while(cin>>courseNum>>maxScore>>average) vector<vector<int> > regularGrade_effort(courseNum,vector<int>(2,0); int regularGradeSum=0;/平時總分 for(int i=0;i<courseNum;+
16、i) cin>>regularGrade_efforti0>>regularGrade_efforti1; regularGradeSum+=regularGrade_efforti0; sort(regularGrade_effort.begin(),regularGrade_effort.end(),compare);/按每分的復(fù)習(xí)時間升序排列 long long int minimumTime=0; /因為每分的復(fù)習(xí)時間很大,需要長整型,否則溢出,不能通過測試 int needScore=courseNum*average-regularGradeSum; if
17、(needScore <=0) goto end; for(int i=0;i<courseNum;+i) for(int j=0;j<maxScore-regularGrade_efforti0;+j) -needScore; minimumTime+=regularGrade_efforti1; if(needScore=0) goto end; end: cout<<minimumTime<<endl; 2.路燈一條長l的筆直的街道上有n個路燈,若這條街的起點為0,終點為l,第i個路燈坐標(biāo)為ai,每盞燈可以覆蓋到的最遠(yuǎn)距離為d,為了照明需求,所有
18、燈的燈光必須覆蓋整條街,但是為了省電,要求這個d最小,請找到這個最小的d。輸入描述: 每組數(shù)據(jù)第一行兩個整數(shù)n和l(n大于0小于等于1000,l小于等于1000000000大于0)。第二行有n個整數(shù)(均大于等于0小于等于l),為每盞燈的坐標(biāo),多個路燈可以在同一點。輸出描述: 輸出答案,保留兩位小數(shù)。輸入例子: 7 15 15 5 3 7 9 14 0輸出例子: 2.5分析: (1)問題的實質(zhì)是求一個數(shù)組序列中的兩個連續(xù)元素之間的最大差值,還需要考慮首尾的特殊性; (2)我為了練習(xí)set集合容器,所以使用了set來存儲路燈位置,當(dāng)然你也可以使用vector容器。相對于vector容器,其好處是元素不重復(fù),自動排序,劣勢就是迭代器不支持算術(shù)加減操作,只支持自增+和自減操作。測試通過的源碼:#include <iostream>#include <set>#include <iomanip>using namespace std;in
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 人教版數(shù)學(xué)八年級下冊16.2《二次根式的乘除》聽評課記錄4
- 岳麓版歷史八年級下冊第16課《“一國兩制”與香港、澳門回歸祖國》聽課評課記錄
- 蘇教版三年級第五冊整百數(shù)乘一位數(shù)的口算教學(xué)設(shè)計
- 小學(xué)二年級語文教學(xué)計劃范文
- 廠房物業(yè)管理服務(wù)合同范本
- 五年級上冊數(shù)學(xué)聽評課記錄《第5單元:第3課時 用字母表示稍復(fù)雜的數(shù)量關(guān)系》人教新課標(biāo)
- 2025年度互聯(lián)網(wǎng)金融服務(wù)連帶責(zé)任保證擔(dān)保協(xié)議范文
- 2025年度蔬菜種植基地病蟲害防治合作協(xié)議
- 二零二五年度XX裝修公司員工崗位責(zé)任合同協(xié)議書
- 2025年度電商團(tuán)隊數(shù)據(jù)安全合作協(xié)議
- 2023年上海青浦區(qū)區(qū)管企業(yè)統(tǒng)一招考聘用筆試題庫含答案解析
- 2023年高一物理期末考試卷(人教版)
- 2023版押品考試題庫必考點含答案
- 植物之歌觀后感
- 空氣能熱泵安裝示意圖
- 建筑工程施工質(zhì)量驗收規(guī)范檢驗批填寫全套表格示范填寫與說明
- 2020年中秋國慶假日文化旅游市場安全生產(chǎn)檢查表
- 辦公家具項目實施方案、供貨方案
- 七年級英語下冊閱讀理解10篇
- 節(jié)后開工收心會
- 設(shè)計質(zhì)量、進(jìn)度保證措施
評論
0/150
提交評論