文档库 最新最全的文档下载
当前位置:文档库 › 2008年ACM大学生程序设计竞赛题

2008年ACM大学生程序设计竞赛题

2008年ACM大学生程序设计竞赛题
2008年ACM大学生程序设计竞赛题

计算机科学系第二届大学生程序设计竞赛试题题目一 大数乘法

问题描述(Problem Description):

编程实现位数不超过300位的任意大的两个整数相乘。

输入(Input):

提示用户输入第一个大数乘数和第二个大数乘数。

输出(Output):

输出两个大数的乘积。

输入示例(Sample Input):

请输入第一个乘数:123456789123456

请输入第二个乘数:123456789123456

输出示例(Sample Output):

两数的乘积是:15230578580673373689799383936

四三二五六一题目二 排球队员站位问题

问题描述(Problem Description):

左图为排球场的平面图,其中一、二、三、

四、五、六为位置编号,二、三、四号位置为前排,一、六、五号位为后排。某队比赛时,一、四号位放主攻手,二、五号位放二

传手,三、六号位放副攻手。队员所穿球衣分别为1,2,3,4,5,6号,但每个队员的球衣都与他们的站位号不同。已知1号、6号队员不在后排,2号、3号队员不是二传手,3号、4号队员不在同一排,5号、6号队员不是副攻手。

编程求每个队员的站位情况。

输入(Input):

输出(Output):

输出每个队员球衣号码和所站的位置编号。

输入示例(Sample Input):

输出示例(Sample Output):

球衣号码:1 2 3 4 5 6

位置编号:一 二 三 四 五 六

题目三文件读写

问题描述(Problem Description):

INI文件为一种广泛应用的储存程序配置的文件格式。要求不使用操作系统自带INI文件处理功能,用c++编写一个INI文件读取程序,并把结果输出到显示器及文件result.txt中。

说明:

INI文件的结构:

[区名字] # 区名注释

键名=键值 # 键值注释

一个区里可以有几个不同键名的键值,例如:

测试用INI文件test.ini:

[section] #this is a section comment

key=value #this is a key comment

[section2]

key2=value2

要求程序能读取section2区中键名为key2的值,以及section区中的键名为key的注释。

输入(Input):

在Windows命令窗口里输入程序名称来运行程序,注意程序所带参数。

输出(Output):

第一行输出section2区中键名为key2的值。

第二行输出section区中的键名为key的注释。

同时要把此结果输出到显示器和文件result.txt中。

输入示例(Sample Input):

CppFileRW Test.ini

输出示例(Sample Output):

section2区中键名为key2的值是:value2

section区中的键名为key的注释是:this is a key comment

题目四入栈出栈

问题描述(Problem Description):

N个不同的数字依次入栈,求所有的出栈可能性。

输入(Input):

第一行输入数字的个数N。

第二行输入N个不同的数字。

输出(Output):

输出这N个数字所有可能的出栈序列,一行输出一个序列。输入示例(Sample Input):

请输入数字个数:3

请输入3个不同是数字:1 2 3

输出示例(Sample Output):

出栈序列为:1 2 3

1 3 2

2 1 3

2 3 1

3 2 1

题目五人类记数方式与外星人记数方式的转换

问题描述(Problem Description):

2036年,人类探测器猎豹X到达了木星的第二颗卫星——木卫二。探测器上的防生学智能机器人传达给科学家一个重要情报——它们发现了智能生命...智能生命与人类有着不同的数学计数法,他们用几个数字的排列就可以表达出丰富的数字世界。

其计数的规律如下:

1 代表1

1 2 代表2

2 1 代表3

1 2 3 代表4

1 3

2 代表5

2 1

3 代表6

2 3 1 代表7

3 1 2 代表8

3 2 1 代表9

1 2 3 4 代表10

..............

编程实现人类记数方式与外星人记数方式的转换。

输入(Input):

提示输入人类数字。

输出(Output):

输出转换后对应的外星人数字。

输入示例(Sample Input):

人类计数数字:234

输出示例(Sample Output):

外星人计数数字:153426

题目六农夫过河

问题描述(Problem Description):

一个农夫带着一只狼,一只羊和一些菜过河。河边只有一条一船,由于船太小,只能装下农夫和他的一样东西。在无人看管的情况下,狼要吃羊,羊要吃菜,请问农夫如何才能使三样东西平安过河。

输入(Input):

输出(Output):

输出度河的次数序列和每次度河时农夫携带的物体以及左岸和右岸的物体。

输入示例(Sample Input):

输出示例(Sample Output):

度河次数序列 左岸物体 农夫携带的物体 右岸物体

0 狼 羊 菜

1 狼菜羊

2 狼菜羊

3 狼菜羊

4 狼羊菜

…… …… …… ……

n 狼羊菜

C语言程序设计竞赛题及其答案

数学与统计学院 第三届计算机程序设计竞赛题 竞赛需知: 1、答案必须写在答题纸上。 2、程序采用C/JAVA/VB/VFP语言实现均可。 3、考虑到各种因素,程序的键盘输入和结果输出可以用伪代码或者自然语言表示。但是必 须说明输入变量和输出变量。 4、题目最好能用完整、正确的语言程序来解决问题,如确实无法编写完整语言程序的,可 以写出程序主要框架和流程,必要时可以用伪代码或者自然语言描述算法(程序)。 一、玫瑰花数(20分) 如果一个四位数等于它的每一位数的4次方之和,则称为玫瑰花数。例如: + + 1634+ =, 4^4 4^3 4^6 4^1 编程输出所有的玫瑰花数。 #include void main() { int i,j,k,l,m; for(i=999;i<=9999;i++) { j=i/1000; k=i%10; l=i/100-10*j; m=i/10-100*j-10*l; if(i==j*j*j*j+k*k*k*k+l*l*l*l+m*m*m*m) printf("%d\n",i); } } 二、菱形图案(20分) 对给定的奇数n,编程打印菱形图案。 输入样例: 7 输出样例: * *** ***** ******* ***** *** * #include #include void main() {

int i,j,k; int n; scanf("%d",&n); for(i=0;i #include void main() { int i,j,x,y; float r; int a,b,count=0; printf("请输入矩阵的行列i,j:"); scanf("%d%d",&i,&j); printf("请输入圆心的坐标点及半径x,y,r:"); scanf("%d%d%f",&x,&y,&r); for(a=0;a

安徽ACM省赛试题

2018年安徽省机器人大赛程序设计竞赛

目录A.数7 B.编译错误 C.做操的时候要排好队D.判重 E.最长上升字串 F.雄伟的城堡 G.然后打5 H.运货卡车 I.最大矩形框 J.数列分段 K.数数字

A.数7 时间限制: 3s 描述 求整数序列中位置L到位置R中一共有多少个7。对于每个数7的个数的定义为,十进制各个位置上一共有多少个7,以及能够被7整除的次数。 输入 第一行是一个整数T,代表测试数据的组数。每组数据中两个整数L,R。其中T≤50,L

B.编译错误 时间限制: 3s 描述 在程序员编写程序的时候,通常会引用其他文件,而引用的文件也会引用其它的头文件。但是出现循环引用的现象编译时便会报错。例如A引用了B,B引用了C,C引用了A,那么就产生了循环引用(Circular reference)。考虑另外一个情况,A引用了B和C,B引用D,C引用D,虽然D被引用了两次,但是没有出现循环引用。 输入 第一行是一个整数T,代表测试数据的组数。每组数据中第一行是一个整数n,代表有多少个引用关系。接下来n行每行有2个字符串a,b,用空格分隔,代表a引用了b。其中T≤50, n≤105,每个字符串长度不超过100。 输出 共T行。若不会产生编译错误则输出Passed,否则输出Failed。 样例输入 样例输出

C.做操的时候要排好队 时间限制: 3s 描述 同学们在做早操时,应该按照身高从低到高排好队。但是总是有人不好好排队,老师在审查时会对没有排好的队伍扣除一定的分数。扣的分数被定义为,找到三个人Ai,Aj,Ak,其中i

程序设计竞赛试题和题解

程序设计竞赛试题和题解 付浩fuch@https://www.wendangku.net/doc/5014569403.html, Contents 完全平方数 (2) 拉丁方阵 (3) 取石子游戏 (5) 乡村医院 (7) 未知星球 (9) 无聊的游戏 (10) 最短路径 (12)

完全平方数 描述 一个非负整数n是完全平方数当且仅当存在非负整数m,使得n=m2 据说完全平方数具有某种神奇的力量,谁知道呢。 聪明的你一定想到了,这道题的任务就是编写一个程序,判断给定的n是否是完全平方数。 输入格式 输入包含多组数据。 每组数据占一行,包含一个非负整数n,n不超过109 输入以n=-1结束 输出格式 对每组输入数据输出一行,如果n是完全平方数则输出”Yes”,否则输出”No” 输入样例 1 2 3 4 -1 输出样例 Yes Yes No No Yes 解答 一般的语言都有开平方运算吧?

拉丁方阵 描述 拉丁方阵是一种n×n的方阵,方阵中恰有n种不同的元素,每种元素恰有n个,并且每种元素在 一行和一列中恰好出现一次。著名数学家和物理学家欧拉使用拉丁字母来作为拉丁方阵里元素的 符号,拉丁方阵因此而得名。例如下图是一个3×3的拉丁方阵: 如果一个拉丁方阵的第一行和第一列按照元素的先后顺序来排列,那么这称为拉丁方阵的标准型,例如下图就是一个3x3的拉丁方阵标准型,第一行和第一列都是”1 2 3”。 你的任务是,编写一个程序读入一个方阵,判断其是否为拉丁方阵;进一步地,判断是否为标准型。 输入格式 输入包含多组数据。 每组数据第一行为正整数n,表示方阵的大小。 其后n行,每行有n个1到n之间的整数,整数之间恰有一个空格,表示方阵的内容。 输入保证1≤n≤100 输入以n=0结束,不要处理这个数据。 输出格式 每组数据对应于一行输出。如果输入是拉丁方阵,但不是标准型则输出1;如果输入是标准型则 输出2;如果输入不是拉丁方阵则输出0 输入样例 2 1 1

ACM题目整理

题目来源:福州大学acm网站 代码:fpcdq 一、入门 熟悉ACM竞赛规则以及程序提交注意事项 例题: Problem 1000 A+B Problem Time Limit: 1000 mSec Memory Limit : 32768 KB Problem Description Calculate a + b. Input The input will consist of a series of pairs of integers a and b,separated by a space, one pair of integers per line. Output For each pair of input integers a and b you should output the sum of a and b in one line,and with one line of output for each line in input. Sample Input 1 5 2 3 Sample Output 6 5

My answer: #include main() { long a,b; while((scanf("%ld%ld",&a,&b))!=EOF) { printf("%ld\n",a+b); } } 详情参考https://www.wendangku.net/doc/5014569403.html,/faq.php 二、ACM分类 主流算法: 1.搜索//回溯 Problem 1019 猫捉老鼠 Time Limit: 1000 mSec Memory Limit : 32768 KB Problem Description 一只猫和一只老鼠在10*10的迷宫中。迷宫中的每个方格可以是空的,或者含有障碍。猫和老鼠可以进入任意一个空的方格中。当他们相遇时,猫和老鼠在同一个方格中。但是,无论猫或老鼠都不能进入有障碍的方格。我们可以用字符组成的二维数组表示迷宫,如下图所示。

山东科技大学第二届ACM程序设计大赛试题

山东科技大学 第二届ACM程序设计大赛 试题册 试题共14页,题目共计12道

山东科技大学第二届ACM 程序设计大赛试题册 Problem A 简单计算 Description 给出n 个十进制的数,找出这n 个数的二进制表示中1的个数最少的数。 Input 输入的第一行为一个正整数T (1≤T ≤20),代表测试数据组数。 对于每组测试数据,输入的第一行为一个正整数n (1≤n ≤10000),第二行为n 个正整数A 1、A 2、…、A n (1≤A i ≤109 ),每个数之间以空格分隔。 Output 每组数据输出一行,先输出数据组数,再输出二进制中含1最少的数,如果存在多个数符合条件,输出最小的那个。具体输出格式见样例输出。 Sample Input Sample Output

山东科技大学第二届ACM 程序设计大赛试题册 Problem B 关键字搜索 Description 我们的新网站具有了全新的搜索功能,使用了2个通配符“*”和“?”,其中“*”表示0或者多个小写字母,“?”代表1个字母。 当我们输入一个关键字的时候,我们在不确定的地方就使用通配符。我们在数据库里面有多条记录,每条记录都是由小写字母组成,现在给出一个关键字,你能告诉我数据库里面有多少条与关键字相匹配的记录吗? 例如: 如果关键字是j*y*m*y?,那么jiyanmoyu ,jyanmoyu ,jymyu 都是相匹配的记录。 Input 第一行输入一个T (T ≤20),表示有T 组测试数据。对于每组测试数据,第一行是输入的关键字,接下是数据库里面的所有记录的条数n ,1≤n ≤10000,每条记录的长度不超过50个小写字母。 Output 对于每组测试数据,输出与关键字相匹配的总记录条数,占一行。 Sample Input Sample Output

acm程序设计大赛

acm程序设计大赛 一、参赛队的组成: 每只队伍三名参赛队员组成,设队长一名。 超过两名以上选手为女队员的参赛队可认为具有女队的资格。 在解出同等题目的情况下,女队优先,然后再计算时间(争夺第一名时除外)。 二、竞赛过程 竞赛中命题 6 题,比赛时间为5个小时。比赛编程语言为C或C++。 队员在接到题目后,编程进行解答,解答完每道题目,即可将程序通过网络提交,评委当场对提交的程序进行评判,并对提交的时间进行记录,经运行测试后由裁判判为正确或者错误,判决结果由系统自动反馈给参赛队伍。如果正确,就为该队挂上一个气球,不同颜色的气球代表不同的题目。为了增加比赛的紧张气氛,比赛结束前一个小时,停止公布所有的成绩。 参赛队员有权提交解释请求,针对题目描述中的不明确或错误的部分提问。如果裁判确认题目中确实存在不明确或错误的部分,将会通告所有参赛队伍进行声明或更正。 在竞赛中,参赛队员不得和同组成员以及竞赛组委会指定工作人员以外的人交谈;系统支持人员可以回答和系统相关的问题,例如解释系统错误信息。 参赛队员不能携带任何电子设备。允许携带纸质材料,包括源代码,参考书,字典等。 当参赛队伍出现妨碍比赛正常进行的行为时,诸如擅自移动赛场中的设备,未经授权修改比赛软硬件,干扰他人比赛等,都将会被竞赛组委会剥夺参赛资格。 三、竞赛评分 竞赛裁判主要负责当比赛选手对裁判系统的结果提出异议或题目需要人工判别时作出相应解释或判定。竞赛组委会主任在与竞赛裁判组协商后确定获胜队伍,有权根据由于不可预见的事件引起的问题,对结果进行调整,这个决定是最终的。 比赛最终结果由每支队伍解决的题目以及解决时间来决定。解题多者获胜,如果有队伍解题数量相同,则根据总用时加上惩罚时间进行排名。总用时和惩罚时间由每道解答正确的试题的用时加上惩罚时间组成。每道试题用时将从竞赛开始到试题解答被判定为正确为止,期间每一次错误的运行将被加罚20分钟时间,未正确解答的试题不计时。

acm程序设计大赛题目

The Mailboxes Manufacturers Problem Time Limit:1000MS Memory Limit:65536K Total Submit:299 Accepted:227 Description In the good old days when Swedish children were still allowed to blowup their fingers with fire-crackers, gangs of excited kids would plague certain smaller cities during Easter time, with only one thing in mind: To blow things up. Small boxes were easy to blow up, and thus mailboxes became a popular target. Now, a small mailbox manufacturer is interested in how many fire-crackers his new mailbox prototype can withstand without exploding and has hired you to help him. He will provide you with k(1 ≤ k≤ 10) identical mailbox prototypes each fitting up to m(1 ≤ m≤ 100) crackers. However, he is not sure of how many firecrackers he needs to provide you with in order for you to be able to solve his problem, so he asks you. You think for a while and then say, “Well,if I blow up a mailbox I can’t use it again, so if you would provide me with only k = 1 mailboxes, I would have to start testing with 1 cracker, then 2 crackers, and so on until it finally exploded. In the worst case, that is if it does not blow up ev en when filled with m crackers, I would need 1 + 2 + 3 + … + m = m ×(m+ 1) ? 2 crackers. If m = 100 that would mean more than 5000 fire-crackers!” “That’s too many,” he replies. “What if I give you more than k = 1 mailboxes? Can you find a strategy that requires less crackers?” Can you? And what is the minimum number of crackers that you should ask him to provide you with? You may assume the following: 1.If a mailbox can withstand x fire-crackers, it can also withstand x? 1 fire-crackers. 2.Upon an explosion, a mailbox is either totally destroyed (blown up) or unharmed, which means that it can be reused in another test explosion.

Acm试题及答案

Acm试题及答案 1001 Sum Problem (2) 1089 A+B for Input-Output Practice (I) (4) 1090 A+B for Input-Output Practice (II) (6) 1091 A+B for Input-Output Practice (III) (8) 1092 A+B for Input-Output Practice (IV) (9) 1093 A+B for Input-Output Practice (V) (11) 1094 A+B for Input-Output Practice (VI) (12) 1095 A+B for Input-Output Practice (VII) (13) 1096 A+B for Input-Output Practice (VIII) (14) 2000 ASCII码排序 (16) 2001计算两点间的距离 (17) 2002计算球体积 (19) 2003求绝对值 (20) 2004成绩转换 (21) 2005第几天 (22) 2006求奇数的乘积 (24) 2007平方和与立方和 (26) 2008数值统计 (27) 2009求数列的和 (28) 2010水仙花数 (29) 2011多项式求和 (31) 2012素数判定 (33) 2014青年歌手大奖赛_评委会打分 (34) 2015偶数求和 (36) 2016数据的交换输出 (38) 2017字符串统计 (40) 2019数列有序! (41) 2020绝对值排序 (43) 2021发工资咯:) (45) 2033人见人爱A+B (46) 2039三角形 (48) 2040亲和数 (49)

2017ACM比赛试题

2017年计算机ACM编程竞赛 主办:计算机科学与技术学院 时间:2017-11-22 18:00---20:00 地点:计算机学院奋进楼4楼5机房

竞赛规则 1、比赛时间为120分钟,从18:00开始,20:00结束。 2、比赛形式为上机编程,每个小组使用三台电脑,可任选语言,同一小组不同题目可使用不同语言; 3、比赛期间可以使用自己电脑,不可查阅书籍、但禁止查阅个人U盘,禁止使用手机、电脑进行上网查询,禁止使用现有代码,违者取消比赛资格;(正式ACM中是可以携带纸质材料的,但由于本次比赛,有大量题目参考书上例题,所以就不让携带了) 4、比赛期间,如遇到设备问题,可举手示意工作人员; 5、由于机房电脑系统有重启还原功能,比赛期间请勿轻易重启电脑; 6、【重要】比赛结束后,请确认将所要提交文件拷至工作人员U盘,否则成绩无效概不负责。 提交方式 1、创建文件夹,文件夹命名格式为小组号-小组队长-组员1-组员2 2、将每一题的源程序文件夹以题目编号命名,拷贝至上述创建的文件夹中 3、在本文档中每题相应位置附上源码及截图(windows截图键:Alt+Prt sc sysrq),拷贝至上述创建的文件夹中 4、比赛结束后将上述文件夹拷贝至工作人员U盘中,提交方算完成,提交 完成前请勿重启电脑。 注:本次比赛共14题,满分120分。没有完成题目,但有部分解题步骤者按完成度给分。每道题要有注释。

竞赛题目 1. 青年歌手大奖赛中,评委会给参赛选手打分。选手得分规则为去掉一个最高分和一个最低分,然后计算平均得分,请编程输出某选手的得分。输入数据有多组,每组占一行,每行的第一个数是n(2

宁波市28届程序设计比赛试题

2013年宁波市第28届中小学生计算机程序设计竞赛 初中组初赛试题 (说明:答案请写在答题卷上。考试时间120分钟,满分100分) 一、选择题(每题有且仅有一个正确答案,选对得1.5分,选错,不选或多选均不得分) 1.很多新款笔记本和电视机上都有HDMI接口,请问这个接口的作用是: A 仅传输视频信号B仅传输音频信号 C 同时传输视频和音频信号 D 稳压电源输入 2. 在Pascal中,表达式2 OR 1 SHL 2 AND 10的值是: A 15 B 8 C 12 D 2 3. 在32位操作系统中,Boolean型数组[1..10000,1..10000]需要的内存空间约为: A 381M B B 12MB C 191MB D 95MB 4. 下列关于32位操作系统和64位操作系统的说法中错误的是: A 32位操作系统是针对32位的CPU设计的 B 64位操作系统是针对64位的CPU设计的 C 64位操作系统理论上能支持的内存大小可根据寻址空间计算而得 D 32位操作系统支持的内存大小不可能超过4G 5. 下面关于二叉堆的复杂度说法中正确的是: A 插入为O(logn),删除为O(logn) B 插入为O(n),删除为O(n) C插入为O(n),删除为O(logn) D插入为O(logn),删除为O(n) 6.算式112-1116的结果是: A 010 B 016 C 1410 D -1410 7. 下列关于邻接表和邻接矩阵的说法中错误的是: A 两者都可以实现图的存储 B 两者可相互转换 C 在一般情况下,邻接表在处理稀疏图时有明显优势 D 邻接矩阵的实现远比邻接表复杂 8. 下列程序中不属于IDE(集成开发环境)的是: A Free Pascal B Lazarus C Dev-C++ D C++ 9. IPv4中一个IP地址长度为32位,新一代协议IPv6中一个IP地址的长度为: A 64位 B 128位 C 256位 D 32位 10. 小明家里电脑可以正常使用QQ,但是无法浏览网站,其原因可能是: A 电脑断网了 B 电脑DNS服务出现故障 C CPU短路 D显示器异常 11.ASCII码表总共有字符128个,请问存放8个ASCII码需要的内存空间是: A 7字节 B 8字节 C 7位 D 8位 12. 字符串"ababacbab"和字符串"abcba"的最长公共子串是: A abcba B cba C abc D ab

2010程序设计大赛决赛题及参考答案

海南软件职业技术学院第四届计算机文化节 程序设计大赛决赛题 提醒:请各队在各自电脑D盘根目录下创建一个命名为“2010程序设计大赛-队名”的文件夹,将所有题目的答案都放到此目录底下。 做题过程中请注意保存。每做完一题就通过电子教室系统提交一次,电脑上没装电子教室软件的每题做完后举手示意工作人员用U盘提交。 各题源文件都分别保存在一个单独的文件夹中,文件夹命名为:题号_队名。 第一部分(简单题型): 1、(10分)马克思手稿中有一道趣味数学问题:有30个人,其中有男人、女人和小孩, 在一家饭馆吃饭花了50先令;每个男人花3先令,每个女人花2先令,每个小孩花1先令;问男人、女人和小孩各有几人?输出所有可能的组合。 样例输出: Men Women Children 1: 0 20 10 2: 1 18 11 3: 2 16 12 4: 3 14 13 5: 4 12 14 6: 5 10 15 7: 6 8 16 8: 7 6 17 9: 8 4 18 10: 9 2 19 11: 10 0 20 Java参考答案: void main() { int men,women,children; int count=0; printf(" %10s%10s%10s\n”,”men”,”women”,”children"); for(men=0;men<=16;men++) for(women=0;women<=25;women++) for(children=0;children<=30;children++) if(men+women+children==30&&men*3+women*2+children==50) { count++; printf(“%2d%10d%10d%10d\n”,count,men,women,children); } }

小学生程序设计复赛练习题

小学生程序设计比赛练习题 1.幸运数字 (luck.pas/c/cpp) 【问题描述】 今年圣诞节,小明收到了很多礼物,每个礼物上都有一个数字,表示对小明的祝福。可是小明有自己的想法,对小明来说,4或者7的倍数是幸运数字。 现在,小明想要知道所有数字中幸运数字之和是多少?请你帮帮小明! Sheryl gōngchéng zài quánguó de Brada ruǎnjiàn gōngsī. Tā de gōngzuò shì kāifā Windows cāozuò xìtǒng. Zài Brada bǎoshǒu de ràng rén nányǐ zhìxìn. Tāmen shènzhì cónglái méiyǒu shǐyòng de túxíng xiǎnshìqì! Yīncǐ,Sheryl de cāozuò xìtǒng yùnxíng zài wénběn móshì hé zài yóu zìfú zǔchéng de xìtǒng chuāngkǒu. Sheryl juédìng, měi gè chuāngkǒu dōu yǒu yīgè ID, zhè shì yīgè zīběn yīngwén zìmǔ ('yī'dào'Z'). Yóuyú měi gè chuāngkǒu yǒu yīgè wéi yī de ID, bùnéng yǒu chāoguò 26 gè chuāngkǒu zài tóngyī shíjiān. Rú nǐ suǒ zhī, suǒyǒu de Windows shì chángfāngxíng. Zài zhè zhǒng chǒulòu de Windows xìtǒng de píngmù, chuāngkǒu de kuàngjiàyǐ jīběn xíngchéng yóu tā de ID xìn. Tú 1 xiǎnshì, zhǐyǒu píngmù shàng de yīgè chuāngkǒu, gāi chuāngkǒu de ID shì'A'. Windows kěnéng huì chóngdié. Tú- 2 xiǎnshì chuāngkǒu de qíngkuàng B duì chuāngkǒu a. Hé tú- 3 de dǐng bù shì tígōng le gèng fùzá de chóngdié. Dāngrán, rúguǒ yīgè chuāngkǒu de mǒu xiē bùfèn shì yóu qítā chuāngkǒu zhē zhù, nǐ bùnéng zài píngmù shàng kàn dào de bùfèn. 字典- 查看字典详细内容 【输入】 第一行一个整数n,表示小明收到了n份圣诞礼物。 第二行包含n个整数,第i个数a[i]表示第i份礼物上的数字。 【输出】 输出小明心目中的幸运数字之和。 【样例解释】 小明的幸运数字必须是4或者7的倍数,这里符合条件的有:12+14+16=42 【数据范围】 40%的数据,n<=100, 0

ACM程序设计竞赛例题

备战ACM资料 一:知识点 数据结构: 1,单,双链表及循环链表 2,树的表示与存储,二叉树(概念,遍历)二叉树的应用(二叉排序树,判定树,博弈树,解答树等) 3,文件操作(从文本文件中读入数据并输出到文本文件中) 4,图(基本概念,存储结构,图的运算) 数学知识 1,离散数学知识的应用(如排列组合、简单的图论,数理逻辑) 2,数论知识 3,线性代数 4,组合代数 5,计算几何 二算法 1,排序算法(冒抛法,插入排序,合并排序,快速排序,堆排序) 2,查找(顺序查找,二分发) 3,回溯算法 4,递归算法 5,分治算法 6,模拟法 7,贪心法 8,简单搜索算法(深度优先,广度优先),搜索中的剪枝,A*算法 9,动态规划的思想及基本算法 10,高精度运算 三、ACM竞赛的题型分析 竞赛的程序设计一般只有16种类型,它们分别是: Dynamic Programming (动态规划) Greedy (贪心算法) Complete Search (穷举搜索) Flood Fill (不知该如何翻译) Shortest Path (最短路径) Recursive Search Techniques (回溯搜索技术) Minimum Spanning Tree (最小生成树) Knapsack (背包问题) Computational Geometry (计算几何学) Network Flow (网络流) Eulerian Path (欧拉回路) Two-Dimensional Convex Hull (不知如何翻译) BigNums (大数问题)

Heuristic Search (启发式搜索) Approximate Search (近似搜索) Ad Hoc Problems (杂题) 四ACM竞赛参考书 《实用算法的分析与程序设计》(吴文虎,王建德著,电子工业出版社,竞赛类的黑宝书)《青少年国际和全国信息学(计算机)奥林匹克竞赛指导)――组合数学的算法 和程序设计》(吴文虎,王建德著,清华大学出版社,参加竞赛组合数学必学) 《计算机算法设计与分析》(王晓东编著,最好的数据结构教材) 《数据结构与算法》(傅清祥,王晓东编著,我所见过的最好的算法教材) 《信息学奥林匹克竞赛指导――1997-1998竞赛试题解析》(吴文虎,王建德著,清华大学出版社) 《计算机程序设计技巧》 D.E.Kruth著,算法书中最著名的《葵花宝典》,大师的作品,难度大) 《计算几何》周陪德著 《ACM国际大学生程序设计竞赛试题与解析(一)》(吴文虎著,清华大学出版社) 《数学建模竞赛培训教材》共三本叶其孝主编 《数学模型》第二版姜启源 《随机规划》 《模糊数学》 《数学建模入门》徐全智 《计算机算法设计与分析》国防科大 五常见的几个网上题库 常用网站: 1)信息学初学者之家:https://www.wendangku.net/doc/5014569403.html,/ (2)大榕树编程世界:https://www.wendangku.net/doc/5014569403.html,/~drs/program/default.asp (3)中国教育曙光网:https://www.wendangku.net/doc/5014569403.html,/aosai/ (4)福建信息学奥林匹克:https://www.wendangku.net/doc/5014569403.html,/fjas/index.htm (5)第20届全国青少年信息学奥林匹克竞赛:https://www.wendangku.net/doc/5014569403.html,/ (6)第15届国际青少年信息学奥林匹克竞赛:https://www.wendangku.net/doc/5014569403.html,/ (7)全美计算机奥林匹克竞赛:https://www.wendangku.net/doc/5014569403.html,/usacogate (8)美国信息学奥林匹克竞赛官方网站:https://www.wendangku.net/doc/5014569403.html,/ (9)俄罗斯Ural州立大学:http://acm.timus.ru/ (10)西班牙Valladolid大学:http://acm.uva.es/problemset (11)ACM-ICPC:https://www.wendangku.net/doc/5014569403.html,/icpc/ (12)北京大学:https://www.wendangku.net/doc/5014569403.html,/JudgeOnline/index.acm (13)浙江大学:https://www.wendangku.net/doc/5014569403.html,/ (14)IOI:http://olympiads.win.tue.nl/ioi/ (15)2003年江苏省信息学奥林匹克竞赛夏令营:https://www.wendangku.net/doc/5014569403.html, (16)https://www.wendangku.net/doc/5014569403.html, (17)https://www.wendangku.net/doc/5014569403.html, (18)https://www.wendangku.net/doc/5014569403.html, (19)https://www.wendangku.net/doc/5014569403.html,/downldmanag/index.asp (20)https://www.wendangku.net/doc/5014569403.html, colin_fox/colin_fox 五如何备战ACM/ICPC

河南省第四届ACM程序设计大赛原题

所有题目时间限制:1秒 【T1】 序号互换 Dr.Kong 设计了一个聪明的机器人卡多,卡多会对电子表格中的单元格坐标快速计算出来。单元格的行坐标是由数字编号的数字序号,而列坐标使用字符序号。观察字母序号,发现第1列到第26列的字母序号分别为A,B,……,Z,接着,第27列序号为AA,第28列为AB,以此类推。 若给Dr.Kong的机器人卡多一个数字序号(比如32),它能很快算出等价的字母序号(即AF),若给机器人一个字母序号(比如AA),它也能很快算出等价的数字序号(27),你能不能与卡多比试比试,看谁能算得更快更准。 【标准输入】 第一行:N 表示有多少组测试数据。 接下来N行,每行或者是一个正整数,或者是一个仅由大写字母组成的字符串。 【标准输出】 对于每一行测试数据,输出一行。如果输入为一个正整数序号,则输出等价的字母序号;如果输入为字符串,则输出等价的数字序号。 【约束条件】 输入保证,所有数字序号和字母序号对应的数字序号均<=2*10^9 【样例】 【T2】 节能 Dr.kong 设计的机器人卡多越来越聪明。最近市政府公司交给卡多一项任务,每天早晨5:00开始,它负责关掉ZK大道右侧上的所有路灯。 卡多每到早晨5:00准会在ZK大道上某盏灯的旁边,然后他开始关灯。每盏灯都有一定的功率,机器人卡多有自觉的节能意识,它希望在关灯期间,ZK大道右侧上所有的路灯的耗电总量数是最少的。 机器人卡多以1m/s的速度行走。假设关灯动作不需要花费额外的时间,因为当它通过某盏路灯时就

顺手将灯关掉。 请编写程序,计算在给定路灯设置,灯泡功率以及机器人卡多的起始位置的情况下,卡多关灯期间,Zk大道上所有灯耗费的最小能量。 【标准输入】 第一行N 表示ZK大道右侧路灯的数量(2<=N<=1000) 第二行V 表示机器人卡多开始关灯的路灯号。(1<=V<=N) 接下来的N行中,每行包含两个空格隔开的整数D和W,用来描述每盏灯的参数 D表示该路灯与ZK大道起点的距离(用米为单位来表示) W表示灯泡的功率,即每秒该灯泡所消耗的能量数。路灯是按顺序给定的。 (0<=D<=1000,0<=W<=1000) 【标准输出】 输出一个整数,即消耗总能量之和的最小值。注意结果小于200,000,000 【样例】 【T3】 表达式求值 Dr.Kong 设计的机器人卡多掌握了加减运算以后,最近又学会了一些简单的函数求值,比如,它知道函数min(20,23)的值是20,add(10,98)的值是108等等。经过训练,Dr.Kong 设计的机器人卡多甚至会计算一种嵌套的更复杂的表达式。 假设表达式可以简单定义为: 1.一个正的十进制数x是一个表达式。 2.如果x和y是表达式,则函数min(x.y)也是表达式,其值为x,y中最小的数。 3.如果x和y是表达式,则函数max(x,y)也是表达式,其值为x,y中最大数。 4.如果x和y是表达式,则函数add(x,y)也是表达式,其值为x,y之和。 例如,表达式max(add(1,2),7)的值为7. 请编写程序,对给定的一组表达式,帮助DrKong算出正确答案,以便校队卡多计算的正误。

第1届C#程序设计竞赛试题

C#程序设计大赛试题 1 英文单词求复数问题(10分) 题目描述:请编写一个程序,可以将英语规则名词(不考虑不满足以下规则的英语单词)由单数变成复数。已知规则如下: a)以辅音字母y结尾,则将y改成i,再加es; b)以s,x,ch,sh结尾,则加es; c)以元音o结尾,则加es; d)其他情况直接加s。 要求用键盘输入英语规则名词,屏幕输出该名词的复数形式。 样例输入: box 样例输出: Boxes static voi d Mai n(string[] args) { string str = Console.ReadLine(); int i=0; string[] arr = { "s", "x", "ch", "sh", "o" }; if (str.EndsWith("s")||str.EndsWith("x")||str.EndsWith("ch")||str.EndsWith("sh")||str.EndsWi th("o")) { str+="es"; } else if (str.EndsWith("y")) { str.Remove(str.Length - 1); str += "ise"; } else { str += 's'; } Console.WriteLine(str); ; } 2. 逆数对问题(20分) 题目描述:设A[1…..n]是一个包含n个不同数的数组,如果在iA[j],则(i,j)就称为A中的一个逆序对。 请编写程序,根据用户输入的正整数n(n>=2)和n个不同的数,求出数组A[n]的逆序对个数。其中,第一行输入数组包含的元素个数n,第二行输入n个不同的数(以逗号分隔)。

历届程序设计acm试题

搜集的南开大学的ACM试题与你共享 [A]南开大学Onlinejudge 在线判题系统https://www.wendangku.net/doc/5014569403.html, A.Lucy的新难题 时间限制:2秒内存限制:32000KB 不知不觉,南开大学第三届“我为程序狂”又要拉开帷幕了。这天,Lucy也来到南开大学ACM协会,与大家共同欢庆NKPC的三周岁的日子。 谈笑间,ACM协会的主席拿了圆形的生日蛋糕。大伙开心地唱完了生日歌,一起吹灭了蜡烛。 要分蛋糕了,大家都很兴奋。本着公平的原则,每位到场的人员都要在蛋糕上切一刀。ACM协会的主席事先知道有n位朋友会参与这个欢庆宴会。为了方便大家切蛋糕,主席在订蛋糕的时候就嘱咐在蛋糕的边缘布置上2n朵小花。 每个人切蛋糕都会从蛋糕的边缘的一朵小花笔直地切到蛋糕的另一端的小花,来表达自己对NKPC的祝福。为了尊重其他同学,每个人在切蛋糕一定不会和蛋糕上已有的切痕相交,也不会从别人已切过的小花作为切蛋糕的起点或终点。同时,每位同学在切蛋糕的时候,都要保证后面所有的同学都能够按照上述的规则切蛋糕。这样,蛋糕上就留下n条切痕。 Lucy眨巴眨巴眼睛,问,要是不考虑切蛋糕的先后顺序和谁切的哪一刀,这蛋糕切完了共有多少种切法呢? 大家听了呵呵一笑,说,那就把这个问题留给NKPC3,作为《Lucy的新难题》吧。 相信聪明的你,一定能够帮Lucy解答她的难题的,对吗? 输入包括多组测试数据,你应当处理到输入结束为止。 每组输入数据中,都只有一行,仅包含一个正整数n,且0

程序设计比赛小学组试题2014

2014年青岛市程序设计竞赛试题(小学组) (比赛时间90分钟,试题满分400分,内存限制128M,时间限制:1s) 说明:1、必须以题目中规定的文件名进行保存,并在技术人员帮助下传到指定文件夹中。 2. 使用竞赛规定的文件格式输入、输出。 (1)对于使用Pascal语言的选手,请参照以下格式使用文件输入输出: begin assign(input,'输入文件名'); assign(output,'输出文件名'); reset(input);rewrite(output); ....... close(input);close(output); end. (2)对于C或C++选手,如果尚未掌握文件输入输出,请参考以下我们提供的一种方法进行文件输入输出。在主函数即main()的开始部分加入以下代码: freopen("输入文件名","r",stdin); freopen("输出文件名","w",stdout); 程序结束时无须像Pascal选手一样,关闭文件,系统将自动关闭读写的文件。 对于C选手,请调用头文件stdio.h 对于C++选手,请调用头文件iostream 1.整数处理(zhengshu.pas/c/cpp) 【问题描述】电脑老师让小明编程做一道题:输入一个正整数A,如果A的个位数字是5,则统计A 能被5整除多少次?否则,统计A当中含有多少个“0”?你能做吗? 【输入】 一行: 一个正整数A。

【输出】 一行: 一个整数,小明所要求的数。 【输入输出样例1】 【输入输出样例2】 【数据范围限制】 对于100%的数据,满足A<=100000000。 2. 乘车费用(cost.pas/c/cpp) 【问题描述】星期天上午小明乘出租车去本市的外婆家。出租车计价方案为:2公里以内起步价是6元,超过2公里之后按1.8元/公里计价,超过10公里之后在1.8元/公里的基础上加价50%,另外,停车等候则按时间计费:1元/3分钟(注:不满3分钟不计费)。已知:小明到外婆家路程为N公里,中间停车等候时间总共M分钟,请计算小明到外婆家的出租车费用是多少元? 【输入】 一行:用空格隔开的两个正整数N 和M。 【输出】 一行:一个实数(表示车费,小数点后保留1位)。 【输入输出样例】 【数据范围限制】

相关文档
相关文档 最新文档