预赛C本科A组.docx

上传人:b****1 文档编号:684709 上传时间:2023-04-29 格式:DOCX 页数:15 大小:148.02KB
下载 相关 举报
预赛C本科A组.docx_第1页
第1页 / 共15页
预赛C本科A组.docx_第2页
第2页 / 共15页
预赛C本科A组.docx_第3页
第3页 / 共15页
预赛C本科A组.docx_第4页
第4页 / 共15页
预赛C本科A组.docx_第5页
第5页 / 共15页
预赛C本科A组.docx_第6页
第6页 / 共15页
预赛C本科A组.docx_第7页
第7页 / 共15页
预赛C本科A组.docx_第8页
第8页 / 共15页
预赛C本科A组.docx_第9页
第9页 / 共15页
预赛C本科A组.docx_第10页
第10页 / 共15页
预赛C本科A组.docx_第11页
第11页 / 共15页
预赛C本科A组.docx_第12页
第12页 / 共15页
预赛C本科A组.docx_第13页
第13页 / 共15页
预赛C本科A组.docx_第14页
第14页 / 共15页
预赛C本科A组.docx_第15页
第15页 / 共15页
亲,该文档总共15页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

预赛C本科A组.docx

《预赛C本科A组.docx》由会员分享,可在线阅读,更多相关《预赛C本科A组.docx(15页珍藏版)》请在冰点文库上搜索。

预赛C本科A组.docx

预赛C本科A组

2013年预赛C/C++本科A组

1.结果填空(满分4分)

题目标题:

高斯日记

大数学家高斯有个好习惯:

无论如何都要记日记。

他的日记有个与众不同的地方,他从不注明年月日,而是用一个整数代替,比如:

4210

后来人们知道,那个整数就是日期,它表示那一天是高斯出生后的第几天。

这或许也是个好习惯,它时时刻刻提醒着主人:

日子又过去一天,还有多少时光可以用于浪费呢?

高斯出生于:

1777年4月30日。

在高斯发现的一个重要定理的日记上标注着:

5343,因此可算出那天是:

1791年12月15日。

高斯获得博士学位的那天日记上标着:

8113

请你算出高斯获得博士学位的年月日。

提交答案的格式是:

yyyy-mm-dd,例如:

1980-03-21

请严格按照格式,通过浏览器提交答案。

注意:

只提交这个日期,不要写其它附加内容,比如:

说明性的文字。

2.结果填空(满分6分)

题目标题:

排它平方数

小明正看着203879这个数字发呆。

原来,203879*203879=41566646641

这有什么神奇呢?

仔细观察,203879是个6位数,并且它的每个数位上的数字都是不同的,并且它平方后的所有数位上都不出现组成它自身的数字。

具有这样特点的6位数还有一个,请你找出它!

再归纳一下筛选要求:

1.6位正整数

2.每个数位上的数字不同

3.其平方数的每个数位不含原数字的任何组成数位

答案是一个6位的正整数。

请通过浏览器提交答案。

注意:

只提交另一6位数,题中已经给出的这个不要提交。

注意:

不要书写其它的内容(比如:

说明性的文字)。

3.结果填空(满分6分)

标题:

振兴中华

小明参加了学校的趣味运动会,其中的一个项目是:

跳格子。

地上画着一些格子,每个格子里写一个字,如下所示:

(也可参见p1.jpg)

从我做起振

我做起振兴

做起振兴中

起振兴中华

 

比赛时,先站在左上角的写着“从”字的格子里,可以横向或纵向跳到相邻的格子里,但不能跳到对角的格子或其它位置。

一直要跳到“华”字结束。

 

要求跳过的路线刚好构成“从我做起振兴中华”这句话。

请你帮助小明算一算他一共有多少种可能的跳跃路线呢?

答案是一个整数,请通过浏览器直接提交该数字。

注意:

不要提交解答过程,或其它辅助说明类的内容。

4.结果填空(满分13分)

标题:

颠倒的价牌

 

小李的店里专卖其它店中下架的样品电视机,可称为:

样品电视专卖店。

其标价都是4位数字(即千元不等)。

小李为了标价清晰、方便,使用了预制的类似数码管的标价签,只要用颜色笔涂数字就可以了(参见p1.jpg)。

这种价牌有个特点,对一些数字,倒过来看也是合理的数字。

如:

1256890都可以。

这样一来,如果牌子挂倒了,有可能完全变成了另一个价格,比如:

1958倒着挂就是:

8561,差了几千元啊!

!

当然,多数情况不能倒读,比如,1110就不能倒过来,因为0不能作为开始数字。

有一天,悲剧终于发生了。

某个店员不小心把店里的某两个价格牌给挂倒了。

并且这两个价格牌的电视机都卖出去了!

庆幸的是价格出入不大,其中一个价牌赔了2百多,另一个价牌却赚了8百多,综合起来,反而多赚了558元。

请根据这些信息计算:

赔钱的那个价牌正确的价格应该是多少?

 

答案是一个4位的整数,请通过浏览器直接提交该数字。

注意:

不要提交解答过程,或其它辅助说明类的内容。

5.代码填空(满分5分)

题目标题:

前缀判断

如下的代码判断needle_start指向的串是否为haystack_start指向的串的前缀,如不是,则返回NULL。

比如:

"abcd1234"就包含了"abc"为前缀

char*prefix(char*haystack_start,char*needle_start)

{

char*haystack=haystack_start;

char*needle=needle_start;

while(*haystack&&*needle){

if(______________________________)returnNULL;//填空位置

}

if(*needle)returnNULL;

returnhaystack_start;

}

 

请分析代码逻辑,并推测划线处的代码,通过网页提交。

注意:

仅把缺少的代码作为答案,千万不要填写多余的代码、符号或说明文字!

 

6.代码填空(满分10分)

标题:

逆波兰表达式

正常的表达式称为中缀表达式,运算符在中间,主要是给人阅读的,机器求解并不方便。

例如:

3+5*(2+6)-1

而且,常常需要用括号来改变运算次序。

相反,如果使用逆波兰表达式(前缀表达式)表示,上面的算式则表示为:

-+3*5+261

不再需要括号,机器可以用递归的方法很方便地求解。

为了简便,我们假设:

1.只有+-*三种运算符

2.每个运算数都是一个小于10的非负整数

下面的程序对一个逆波兰表示串进行求值。

其返回值为一个结构:

其中第一元素表示求值结果,第二个元素表示它已解析的字符数。

structEV

{

intresult;//计算结果

intn;//消耗掉的字符数

};

structEVevaluate(char*x)

{

structEVev={0,0};

structEVv1;

structEVv2;

if(*x==0)returnev;

if(x[0]>='0'&&x[0]<='9'){

ev.result=x[0]-'0';

ev.n=1;

returnev;

}

v1=evaluate(x+1);

v2=_____________________________;//填空位置

if(x[0]=='+')ev.result=v1.result+v2.result;

if(x[0]=='*')ev.result=v1.result*v2.result;

if(x[0]=='-')ev.result=v1.result-v2.result;

ev.n=1+v1.n+v2.n;

returnev;

}

 

请分析代码逻辑,并推测划线处的代码,通过网页提交。

注意:

仅把缺少的代码作为答案,千万不要填写多余的代码、符号或说明文字!

 

7.程序设计(满分4分)

标题:

错误票据

某涉密单位下发了某种票据,并要在年终全部收回。

每张票据有唯一的ID号。

全年所有票据的ID号是连续的,但ID的开始数码是随机选定的。

因为工作人员疏忽,在录入ID号的时候发生了一处错误,造成了某个ID断号,另外一个ID重号。

你的任务是通过编程,找出断号的ID和重号的ID。

假设断号不可能发生在最大和最小号。

要求程序首先输入一个整数N(N<100)表示后面数据行数。

接着读入N行数据。

每行数据长度不等,是用空格分开的若干个(不大于100个)正整数(不大于100000)

每个整数代表一个ID号。

要求程序输出1行,含两个整数mn,用空格分隔。

其中,m表示断号ID,n表示重号ID

例如:

用户输入:

2

568119

10129

则程序输出:

79

 

再例如:

用户输入:

6

164178108109180155141159104182179118137184115124125129168196

172189127107112192103131133169158

128102110148139157140195197

185152135106123173122136174191145116151143175120161134162190

149138142146199126165156153193144166170121171132101194187188

113130176154177120117150114183186181100163160167147198111119

则程序输出:

105120

资源约定:

峰值内存消耗<64M

CPU消耗<1000ms

 

请严格按要求输出,不要画蛇添足地打印类似:

“请您输入...”的多余内容。

所有代码放在同一个源文件中,调试通过后,拷贝提交该源码。

注意:

main函数需要返回0

注意:

只使用ANSIC/ANSIC++标准,不要调用依赖于编译环境或操作系统的特殊函数。

注意:

所有依赖的函数必须明确地在源文件中#include,不能通过工程设置而省略常用头文件。

提交时,注意选择所期望的编译器类型。

 

8.程序设计(满分12分)

标题:

买不到的数目

小明开了一家糖果店。

他别出心裁:

把水果糖包成4颗一包和7颗一包的两种。

糖果不能拆包卖。

小朋友来买糖的时候,他就用这两种包装来组合。

当然有些糖果数目是无法组合出来的,比如要买10颗糖。

你可以用计算机测试一下,在这种包装情况下,最大不能买到的数量是17。

大于17的任何数字都可以用4和7组合出来。

本题的要求就是在已知两个包装的数量时,求最大不能组合出的数字。

输入:

两个正整数,表示每种包装中糖的颗数(都不多于1000)

要求输出:

一个正整数,表示最大不能买到的糖数

不需要考虑无解的情况

例如:

用户输入:

47

程序应该输出:

17

再例如:

用户输入:

35

程序应该输出:

7

 

资源约定:

峰值内存消耗<64M

CPU消耗<3000ms

 

请严格按要求输出,不要画蛇添足地打印类似:

“请您输入...”的多余内容。

所有代码放在同一个源文件中,调试通过后,拷贝提交该源码。

注意:

main函数需要返回0

注意:

只使用ANSIC/ANSIC++标准,不要调用依赖于编译环境或操作系统的特殊函数。

注意:

所有依赖的函数必须明确地在源文件中#include,不能通过工程设置而省略常用头文件。

提交时,注意选择所期望的编译器类型。

9.程序设计(满分16分)

标题:

剪格子

如图p1.jpg所示,3x3的格子中填写了一些整数。

我们沿着图中的红色线剪开,得到两个部分,每个部分的数字和都是60。

本题的要求就是请你编程判定:

对给定的mxn的格子中的整数,是否可以分割为两个部分,使得这两个区域的数字和相等。

如果存在多种解答,请输出包含左上角格子的那个区域包含的格子的最小数目。

如果无法分割,则输出0

程序输入输出格式要求:

程序先读入两个整数mn用空格分割(m,n<10)

表示表格的宽度和高度

接下来是n行,每行m个正整数,用空格分开。

每个整数不大于10000

程序输出:

在所有解中,包含左上角的分割区可能包含的最小的格子数目。

 

例如:

用户输入:

33

10152

20301

123

则程序输出:

3

再例如:

用户输入:

43

1111

130802

111100

则程序输出:

10

(参见p2.jpg)

 

资源约定:

峰值内存消耗<64M

CPU消耗<5000ms

 

请严格按要求输出,不要画蛇添足地打印类似:

“请您输入...”的多余内容。

所有代码放在同一个源文件中,调试通过后,拷贝提交该源码。

注意:

main函数需要返回0

注意:

只使用ANSIC/ANSIC++标准,不要调用依赖于编译环境或操作系统的特殊函数。

注意:

所有依赖的函数必须明确地在源文件中#include,不能通过工程设置而省略常用头文件。

提交时,注意选择所期望的编译器类型。

10.程序设计(满分24分)

标题:

大臣的旅费

 

很久以前,T王国空前繁荣。

为了更好地管理国家,王国修建了大量的快速路,用于连接首都和王国内的各大城市。

为节省经费,T国的大臣们经过思考,制定了一套优秀的修建方案,使得任何一个大城市都能从首都直接或者通过其他大城市间接到达。

同时,如果不重复经过大城市,从首都到达每个大城市的方案都是唯一的。

J是T国重要大臣,他巡查于各大城市之间,体察民情。

所以,从一个城市马不停蹄地到另一个城市成了J最常做的事情。

他有一个钱袋,用于存放往来城市间的路费。

聪明的J发现,如果不在某个城市停下来修整,在连续行进过程中,他所花的路费与他已走过的距离有关,在走第x千米到第x+1千米这一千米中(x是整数),他花费的路费是x+10这么多。

也就是说走1千米花费11,走2千米要花费23。

J大臣想知道:

他从某一个城市出发,中间不休息,到达另一个城市,所有可能花费的路费中最多是多少呢?

输入格式:

输入的第一行包含一个整数n,表示包括首都在内的T王国的城市数

城市从1开始依次编号,1号城市为首都。

接下来n-1行,描述T国的高速路(T国的高速路一定是n-1条)

每行三个整数Pi,Qi,Di,表示城市Pi和城市Qi之间有一条高速路,长度为Di千米。

输出格式:

输出一个整数,表示大臣J最多花费的路费是多少。

样例输入:

5

122

131

245

254

样例输出:

135

样例说明:

大臣J从城市4到城市5要花费135的路费。

 

根据资源限制尽可能考虑支持更大的数据规模。

 

资源约定:

峰值内存消耗<64M

CPU消耗<5000ms

 

请严格按要求输出,不要画蛇添足地打印类似:

“请您输入...”的多余内容。

所有代码放在同一个源文件中,调试通过后,拷贝提交该源码。

注意:

main函数需要返回0

注意:

只使用ANSIC/ANSIC++标准,不要调用依赖于编译环境或操作系统的特殊函数。

注意:

所有依赖的函数必须明确地在源文件中#include,不能通过工程设置而省略常用头文件。

提交时,注意选择所期望的编译器类型。

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

当前位置:首页 > 总结汇报 > 学习总结

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2