精品DEVC++试题及答案doc.docx

上传人:b****7 文档编号:10070097 上传时间:2023-02-08 格式:DOCX 页数:17 大小:20.99KB
下载 相关 举报
精品DEVC++试题及答案doc.docx_第1页
第1页 / 共17页
精品DEVC++试题及答案doc.docx_第2页
第2页 / 共17页
精品DEVC++试题及答案doc.docx_第3页
第3页 / 共17页
精品DEVC++试题及答案doc.docx_第4页
第4页 / 共17页
精品DEVC++试题及答案doc.docx_第5页
第5页 / 共17页
点击查看更多>>
下载资源
资源描述

精品DEVC++试题及答案doc.docx

《精品DEVC++试题及答案doc.docx》由会员分享,可在线阅读,更多相关《精品DEVC++试题及答案doc.docx(17页珍藏版)》请在冰豆网上搜索。

精品DEVC++试题及答案doc.docx

精品DEVC++试题及答案doc

P1021Victoria的舞会1

【题目描述】

Victoria准备邀请n个已经确定的人开一个舞会,可问题是:

这n个人每一个人都有一个小花名册,名册里面写着他所愿意交流的人的名字。

比如说在A的人名单里写了E那么表示A愿意与B交流;而且如果A名单里面有R那么B名单里面肯定有A也就是说两个人如果一方愿意和另一方交流,那么另一方也肯定愿意和这一方交流。

Victoria觉得需要在这n个人里选定m个人,保证这"人中每一个人都能在舞会中找到至少k个人交流,并求出一种方案以确定m的最大值是多少。

注意:

自己的名单里面不会有自己的名字。

【输入格式】第一行两个数n和k接下来n行,第i+1行表示编号为i的人的小花名册名单,名单以0结束。

(l<=n<=200,Iv^gOQ)

【输出格式】一个数,m

【样例输入】221

45101120210

236811160

2358121516180

15610111216180

13416200

241921220

891319200

23710190

7101416190

148910200

124181920210

34130

7121516181921220

9160

313210

234591314200

18220

34111317210

678911131921220

15710111621220

161113151819200

6131719200

【样例输出】

22

#includeusingnamespacestfboola201]201];

intmain。

{

intn,k,temp,i,j,ans=Q

for(i=l;i<^i;i-H)

{

ciri»temp;

while(temp!

=0)

{

a[i][temf)]=tru^

a[temp)][i]=tru^

cin»temp;

}

}

for(i=l;i<=^];i-H)

{

temp=Q

for(j=l;j<^n;j-H)if(a[i][j])tempH

if(temjfMOans-H;

}

cout

returnQ

}

P1041神风堂人数

【题目描述】

天下会评选一级弟子,(做出10题以上的有机会参加评选)。

最后评选结果神风堂有超过眺不足的人被评上了(弟子一:

听起来像是氓AL上的101L风:

闭嘴!

)。

现在给你PffiQ你要算出神风堂最少有多少人。

(数据弱了一点,所以好通过)。

【输入格式】

两个实数RQ用空格隔开。

每个数最多有两位小数。

0.99

【输出格式】

神风堂最少的人数。

【样例输入】

1314.1

【样例输出】

15

#include

usingnamespacestf

intmain。

{

doub1ep,q,terry

inti=l;

ciri>^p>>q;

q=q/10Q

■while

(1)

{

if((int)(i*q-0.000001)-(int)(i*pW.000001)Al)break;

i丑

}

cout«i;

returnQ

}

P1001谁拿了最多的奖学金

【题目描述】

某校的惯例是在每学期的期末考试之后发放奖学金。

发放的奖学金共有五种,获取的条件各自不同:

1)院士奖学金,每人8000元,期末平均成绩高于80分,并且在本学期内发表1篇或1篇以上论文的学生均可获得;

2)五四奖学金,每人4000元,期末平均成绩高于85分,并且班级评议成绩高于80分的学生均可获得;

3)成绩优秀奖,2000元小,期末平均成绩高于90分的学生均可获得;

4)西部奖学金,1000元人,期末平均成绩高于85分的西部省份学生均可获得;

5)班级贡献奖,每人850元,班级评议成绩高于80分的学生干部均可获得;

只要符合条件就可以得奖,每项奖学金的获奖人数没有限制,每名学生也可以同时获得多项奖学金。

例如姚林的期末平均成绩是87分,班级评议成绩82分,同时他还是一位学生干部,那么他可以同时获得五四奖学金和班级贡献奖,奖金总数是4850元。

现在给出若干学生的相关数据,请计算哪些同学获得的奖金总数最高(假设总有同学能满足获得奖学金的条件)。

【数据输入】

输入的第一行是一个整数N(1<=N^100),表示学生的总数。

接下来的N行每行是一位学生的数据,从左向右依次是姓名,期末平均成绩,班级评议成绩,是否是学生干部,是否是西部省份学生,以及发表的论文数。

姓名是由大小写英文字母组成的长度不超过20的字符串(不含空格);期末平均成绩和班级评议成绩都是0到100之间的整数(包括0和10。

;是否是学生干部和是否是西部省份学生分别用一个字符表示,Y表示是,N表示不是;发表的论文数是0到10的整数(包括0和10o每两个相邻数据项之间用一个空格分隔。

【数据输出】

输出包括三行,第一行是获得最多奖金的学生的姓名,第二行是这名学生获得的奖金总数。

如果有两位或两位以上的学生获得的奖金最多,输出他们之中在输入文件中出现最早的学生的姓名。

第三行是这N个学生获得的奖学金的总数。

【样例输入】4

YaoLin8782YN0

ChenRuiyi8878NY1

LiXin9288NN0

Zhan^in8387YN1

【样例输出】

ChenRuiyi

9000

28700

#include

usingnamespacestf

intmainQ

{

inti,j,n,皿p%皿prize,manQ

longtotal=Q

chara[2Q],name[2(J,xb,gb;

ciri^n;

for(i=l;i<^i;i-H)

{

ciw

prize=Q

if(蹑(\w>G))prize4=800。

if((qpl>85)^py>8Q))prize-k400Q

ifprize4=200(^

if((qpi>85)Y))prize4=100(^

if((py>8Q)(gb=Y))prize4=85Q

total-k^)riz^

if©rize>na对

ma^r^priz^

for(j=Qj<2Qj-H)nameQ]Q];

}

}

cout«name«endl<=lnax<^ndl«total;

returnQ

}

P1007绕钉子的长绳子

【题目描述】

平面上有N个圆柱形的大钉子,半径都为R所有钉子组成一个凸多边形。

现在你要用一条绳子把这些钉子围起来,绳子直径忽略不计。

求出绳子的长度

[输入格式]

第1行两个数:

整数N(心自10。

和实数R接下来N行按逆时针顺序给出N个钉子中心的坐标,坐标的绝对值不超过10Q

【输出格式】

一个数,绳子的长度,精确到小数点后2位。

【样例输入】

41

0.00.0

2.00.0

2.02.0

0.02.0

【样例输出】

14.28

#include

#include

usingnamespacestf

intmainQ

{

intn,i;

floatr,x[101],y[101];

doub1ee

nrf*3.14159夫r;

for(i7iJ>x[i]^s=y[i];

if血=2)tmitF2*sqrt((x[0]—x[1])*

仅回一Xm)+&回一y[1])*(y回一y[1]));

if心)

{

for(i=Qi

{

hhiH-sqrt(仅[i+1]-x[i])*(x[i+1]-x[i])+fy[i+1]-y[i])*fy[i+1]-y[i]));

}

nwitFsqrt(仅同一x|n-l])*(x[U]-x|n-l])+fy回一/KJ-y瓦~1]));

}

mint(n*100+0.9X1-00.Q

COUt

returnQ

}

Pl057盖房子

【问题描述】

陶陶最近得到了面积为n枷的一大块土地,他想在这块土地上建造一所房子,这个房子必须是正方形的。

但是,这块土地并非十全十美,上面有很多瑕疵的地方不能在上面盖一砖一瓦。

他希望找到一块最大的正方形无瑕疵的土地来盖房子。

不过,这并不是什么难题,陶陶在10分钟内就轻松解决了这个问题。

现在,您也来试试吧。

【输入格式】

输入文件第一行为两个整数n,m(10,glOOQ),接下来n行,每行m个数字,用空格隔开。

0表示该块土地有瑕疵,1表示该块土地完好。

【输出格式】

一个整数,最大正方形的边长。

【样例输入】

4

4

0

111

1

110

0

110

1

101

【样例输出】

2

#includeusingnamespacestc^

inta[1001][1001];

intmin3(intal,inta2,inta3)

{

int

if(temp>a2)temp=^2;

if(temp>a3)temp=^3;

returntemp;

}

intmainQ

{

inti,j,rr)n,temp,ans=Q

c

for(i=l;i<^rji-H)

for(j=l;j<^];j+0

{

ciri»temp;

if(temp=l)

a[i]田Fin3(a[i-1]O'],a[i][j-1],a[i-1]O'-l])+1;

if(ans

}

cout«ans;

return0;

}

Pl1004采药

【题目描述】

辰辰是个天资聪颖的孩子,他的梦想是成为世界上最伟大的医师。

为此,他想拜附近最有威望的医师为师。

医师为了判断他的资质,给他出了一个难题。

医师把他带到一个到处都是草药的山洞里对他说:

“孩子,这个山洞里有一些不同的草药,采每一株都需要一些时间,每一株也有它自身的价值。

我会给你一段时间,在这段时间里,你可以采到一些草药。

如果你是一个聪明的孩子,你应该可以让采到的草药的总价值最大。

如果你是辰辰,你能完成这个任务吗?

【输入格式】

输入的第一行有两个整数T(1<=T<=1000和M(1VMV10Q),用一个空格隔开,T代表总共能够用来采药的时间,M代表山洞里的草药的数目。

接下来的M行每行包括两个在1到100之间(包括1和10Q)的整数,分别表示采摘某株草药的时间和这株草药的价值。

【输出格式】

输出包括一行,这一行只包含一个整数,表示在规定的时间内,可以采到的草药的最大总价值。

【样例输入】

703

71100

691

12

【样例输出】3

【解题思想】

t(t<=100Q)表示可以采药的总时间,m(iif=100)代表山洞里的草药数,给出每种草药需耗时间和该药的价值。

这是一道动态规划的典型应用题。

设一个二维数组洲1行,t+1列,一行一行地计算,判断每一株草药采与不采得到的当前最大值。

#include

usingnamespacest©

intmain0

{

inti,j,t,n;

cin»t»三

inta[n+n,b[n+l],c[h+1][t+1];

for(i=l;i<^i;i-H)cin»a[i][i];

for(i=0;i<^i;i-H)

forG=Qj<=t;j-H)c[i][j]=Q

}

for(i=l;i<^i;i-H)

for(j=Qj<=t;j-H)

ifg[i])if(cD-ijm海[i—i]dtra]h①)cme—D-i]m;elsec[i]Hy[i-1]X[i]]H[i];

}

elsec[i]DW[i—1]GJ;

}

}

COUt

returnQ

}

Pl113不高兴的津津

【题目描述】

津津上初中了。

妈妈认为津津应该更加用功学习,所以津津除了上学之外,还要参加妈妈为她报名的各科复习班。

另外每周妈妈还会送她去学习朗诵、舞蹈和钢琴。

但是津津如果一天上课超过八个小时就会不高兴,而且,上得越久就会越不高兴。

假设津津不会因为其它事不高兴,并且她的不高兴不会持续到第二天。

请你帮忙检查一下津津下周的日程安排,看看下周她会不会不高兴;如果会的话,哪天最不高兴。

【输入格式】

输入包括七行数据,分别表示周一到周日的日程安排。

每行包括两个小于10的非负整数,用空格隔开,分别表示津津在学校上课的时间和妈妈安排她上课的时间。

【输出格式】

输出包括一行,这一行只包含一个数字。

如果不会不高兴则输出0,如果会则输出最不高兴的是周几用1,2,3,4,5,6,7分别表示周一,周二,周三,周四,周五,周六,周日)。

如果有两天或两天以上不高兴的程度相当,则输出时间最靠前的一天。

【样例输入】

53

62

72

53

54

04

06

【样例输出】3

#includeusingnamespacest《

intmain0

{

intz,i,x,y,a;

3F=7;

for(i=l;i<8;i-H)

{

if

{

aF^Py;

z=i;

}

}

cout«^

returnQ

}

Pl130数的计数

【题目描述]

我们要求找出具有下列性质数的个数(包含输入的自然数

先输入一个自然数n(p<1000),然后对此自然数按照如下方法进行处理

1、不作任何处理:

2.茬它的左边加上一个自然数,但该自然数不能超过原数的一半;

i加上数后,继续按此规则进行处理,直到不能再立生自然数为止。

【输入格式]

一个正整数

【输出格式】

一个正整数

【样例输入]

6

【样例输出】

6

#include

usingnamespacest&

intmainij

intn,it)

cin»n;

longlonga[1001]={0;

affl=1;

for(inti=2;i<^i;i-H)

{

if(i%2=0)a[i]=a[g+a[i-1];

elsea[i]=a[i—1];

}

coutc;a[n]«endl;

returnQ

}

P1291苹果摘陶陶

【问题描述】

话说去年苹果们被陶陶摘下来后都很生气,于是就用最先进的克隆技术把陶陶克隆了好多份,然后把他们挂在树上,准备摘取。

摘取的规则是,一个苹果只能摘一个陶陶,且只能在它所能摘到的高度以下(即是小于关系)的最高的陶陶,如果摘不到的话只能灰溜溜的走开了AW合出苹果数目及每个苹果可以够到的高度和各个陶陶的高度,求苹果们都摘完后剩下多少个陶陶……

【输入格式】

第一行为两个数,分别为苹果的数量n和陶陶的数量m(n,g200。

以下的n行,分别为各个苹果能够到的最大高度。

再接下来的m行,分别为各个陶陶的高度。

高度均不高于30Q当然了,摘取的顺序按照输入的“苹果够到的最大高度”的顺序来摘。

注意:

高度小于等于0的陶陶不能摘.

【输出格式】

输出仅有一个数,是剩下的陶陶的数量

【样例输入】

55

9

10

2

3

1

6

7

8

9

10

【样例输出】3

#include

usingnamespacestj

intmainQ

{

intn,n]a[2001],b[2001],i,j,tempi,tenp£

c

for(i=l;i<=^i-H)cir£^>a[i];

for(i=l;i<^rji-H)cin»b[i];

for(i=l;i<=^i-H)

{

tanpl=Q

for(j=l;j-H)

{

if但国斗①您为①R

{

if(b[j]>templ){temp12)[j];temp2=j;}}

}

b[tempZ]=301;

}

templ=Q

for(i=l;i<^i]i-H)

{

if(b[i]<301)tenpl-4-^

}cout«templ;

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 党团工作 > 党团建设

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1