大学生程序设计竞赛试题(正式赛)

中原工学院第一届大学生程序设计竞赛

正式比赛试题

主办:中原工学院教务处学生处校团委计算机学院

承办:中原工学院计算机学院

地点:计算机学院实验中心406实验室

时间:2010年4月11日

考试时间:5小时(9:00 - 14:00)

文件命名:提交源程序名为:题号_参赛选手编号.c或.cpp。如1号选

【试题一】

兔子

【题目描述】

兔子具有很强的繁殖能力。一对成年兔子每个月可以繁殖一对小兔子,而一对小兔子经过m个月之后,就会长成一对成年兔子。通过分析,我们可以看出:若m=2的时候,每个月兔子的对数构成了一个Fibonacci数列。

但是,若m<>2,这个问题看起来就不那么简单了。你的任务是计算:假定初始只有一对兔子,那么,经过d个月之后,共有多少对兔子?可以假定,在此阶段没有任何兔子死亡。

【输入】

输入包括多组测试数据。每组测试数据的一行中包括2个整数m(1<=m<=10),

d(1<=d<=30)。当测试数据遇到一行中有两个0时,即m=d=0,测试数据结束。

【输出】

针对每组测试数据,在每一行输出经过d个月后共有多少对兔子。

【输入样例】

2 3

3 5

0 0

【输出样例】

5

9

【试题二】

网页浏览器

【题目描述】

Mozilla Firefox是一个自由的,开放源码的网页浏览器,适用于Windows, Linux 和MacOS X等平台。Firefox火狐校园大使是Mozilla开源社区项目的一部分,针对在校的高年级本科生和研究生以及众多技术爱好者,在校园中推广开源项目和开放技术,让更多的开发人员受益于Mozilla的开放技术和免费资源。你很荣幸得到了这样一个机会,为Firefox编写一个重要的导航模块。

正如上图所示,导航模块要接受用户的后退、前进、进入用户输入的网址以及清空浏览记录等操作。

【输入】

为了简化问题,用户所有的操作都以字符的形式从标准输入读入。每一行描述一个操作,各操作的格式和功能如下所示:

操作功能

back 如果当前页面不是第一个页面,则跳到到前一个页面,

并输出这个页面的网址

forward 如果当前页面不是最后一个页面,则跳到到后一个页面,

并输出这个页面的网址

url 网址跳转到用户输入的网址(网址不含空格)

clear 清空浏览记录(当前页面除外)

exit 退出浏览器

浏览器启动时默认进入中原工学院的主页”

【输出】

对于每一个需要输出网址的操作,输出对应的网址。每个网址恰好占一行,不要有多余的字符(包括空格和换行)。详细格式可以参考输入输出样例。

【输入样例】

url

forward

back

back

exit

【输出样例】

【试题三】

茶商

【题目描述】

一位茶叶商人从南方收购了n吨新茶,由于产地偏僻不通铁路,茶商准备先沿水路运到武汉,再发往全国各地销售。码头上只有m条规格不同的小货船,每条船都不足以装载全部茶叶。各船的最大载重量分别为w[i]吨,需f[i]费用(1<=i<=m)。当然,由于茶商是老主顾,而且货船还可以搭载其他货物,因此船主比较客气,声称可以装一部分货物,按实际装多少

货物计费(例如,只装了1/3载重,则费用也为1/3)。

请问,茶商应该选择哪些货船,使得费用最低?

【输入】

输入包括多组测试数据。每组测试数据的第一行为2个非负整数n和m,其含义如题目描述所示。接下来的m行,每行有两个非负整数w[i]和f[i],代表每条船的最大载重量和费用。当测试数据遇到一行中有两个-1时,测试数据结束。所有的整数不超过1000。

【输出】

针对每组测试数据,在每一行输出一个唯一的整数,表示茶商所需要的最少运费(运算过程中可以采用浮点数,输出最终结果时取整)。

【输入样例】

15 3

7 2

4 3

5 2

30 3

25 18

24 15

15 10

-1 -1

【输出样例】

6

21

【试题四】

中原工学院网络系统

【题目描述】

虽然中原工学院的网络安全已经做得非常完善,但是天有不测风云,学校内部网络系统的一台服务器意外感染了一种新型病毒。为了避免更大的损失,管理员必须采取紧急措施遏制病毒的蔓延。中原工学院内部网络系统共有n台服务器,这n台服务器使用m条电缆互相连接。为了描述方便,我们给服务器编号1到n。初始时,1号服务器感染了病毒。每隔一分钟,病毒便会从已感染病毒的服务器扩散到所有与之直接相连的服务器上。中原工学院的网络系统设计得非常坚固,即使要切断电缆也非常困难。管理员只能在初始时切断一根电缆。为了让整个网络系统尽可能晚地全部被病毒感染,他应该切断哪根电缆?

【输入】

输入包含多组数据。每组数据的第一行是两个整数n和m (2≤n≤200, 1≤m≤n*(n-1)/2),其含义如上面所描述。接下来m行每行两个整数a, b (1≤a, b≤n),表示服务器a和服务器b有电缆直接连接。任意两台服务器间至多有一根电缆相连。输入数据以n=m=0结束。

【输出】

对每组数据输出最晚多少分钟之后整个网络系统被感染。如果切断某根电缆后病毒永远不会传播到某些服务器,那么输出”Great”。

【输入样例】

4 5

1 2

2 3

3 4

4 1

1 3

4 4

1 2

2 3

3 4

1 3

0 0

【输出样例】

2

Great

【试题五】

高速公路

【题目描述】

某国共有n个城市(n不超过200),有些城市之间直接有一条高速公路相连,高速公路都是双向的,总共有m条。每条高速公路都有自己的载重限制,即载重最大值。通过车辆的载重不能超过公路的载重限制。如今我们想了解的是,从某一起点城市出发,到达目标城市,车辆最多能带多重的货物。

【输入】

输入的第一行为两个整数n和m。以下有m行,每行三个整数描述一条公路,分别是首

尾相连的城市以及载重限制。然后是一个整数k,即问题个数。接下来k行描述k个问题,每行两个整数表示起点城市和目标城市。问题数不超过100。

【输出】

输出包括k行,每行对应一个问题,输出从起点到目标的最大载重量。如果两城市间无路径则输出-1。

【输入样例】

3 3

1 2 100

2 3 100

1 3 50

2

1 3

2 3

【输出样例】

100

100

【试题六】

大学校区

【题目描述】

当前,中原工学院共有四个校区:北校区(North)、南校区(South)、西校区(West)和东校区(信商新区)(East),每一个校区都有若干个建筑物,如公园、广场、科研院所、实验中心、礼堂等,每个建筑物之间都有一定的距离,因此,在平时的教学和生活中,教师和学生都会经常面临这样的问题:在同一个校区或不同校区之间,从一个地点到另一个地点往来的需要。现在,他们需要找到从出发点S到目的地T的一条最短路径,以便节省时间,你能帮助他们吗?假设任两个建筑物之间至多存在一条直接相连的道路,并且都有具体的长度。

【输入】

输入的第一行是一个正整数C,表示下面测试案例数目。在每一种测试例中,第一行的正整数N(0

【输出】

输出应包括C行,每行对应一个测试例,输出从起点到目的地的最短距离。如果两地点间无路径则输出-1。系统没有多余的内存空间可利用。

【输入样例】

1

2

2

100

【输出样例】

2

【试题七】

Faulty Odometer

【Description】

You are given a car odometer which displays the miles traveled as an integer. The odometer has a defect, however: it proceeds from the digit 3 to the digit 5, always skipping over the digit 4. This defect shows up in all positions (the one's, the ten's, the hundred's, etc.). For example, if the odometer displays 15339 and the car travels one mile, odometer reading changes to 15350 (instead of 15340).

【Input】

Each line of input contains a positive integer in the range 1..999999 which represents an odometer reading. (Leading zeros will not appear in the input.) The end of input is indicated by a line containing a single 0. You may assume that no odometer reading will contain the digit 4.

【Output】

Each line of input will produce exactly one line of output, which will contain: the odometer reading from the input, a colon, one blank space, and the actual number of miles traveled by the car.

【Sample Input】

15

250

【Sample output】

15: 13

250: 198

【试题八】

Sorting Algorith

One of the fundamental problem of computer science is ordering a list of items .there’re a plethora of solutions to this problem , known as sorting algorithms. Some sorting algorithms are simple and intuitive, such as bubble sort. Others, such as the heap sort are not so simple, but produce lightening-fast results.

In the following is a list of some sorting algorithms. Of course, I can’t tell you how to implement them here. You must use your own knowledge.

Bubble sort

Heap sort

Insertion sort

Merge sort

Quick sort

Selection sort

Shell sort

……

My business here is to give you some numbers, and to sort them is your business. Attention, I want the smallest number at the top of the sorted list.

【Input】

The input will consist of series data sets. Each data set has two parts. The first part contains two non-negative integers, n(1≤n≤100,000)and m(1≤m≤n),representing the total of numbers you will get and interval of the output sorted list . The second part contains n positive integers. I am sure that each integer in this part will be less than 2,000,000,000.

The input is terminated by a line with two zeros.

【Output】

For one data set, you should output several numbers in ONE line. After you get the sorted list, you should output the first number of each m numbers, and you should print exact ONE space between two adjacent numbers. And please make sure that there should NOT be any blank line between outputs of two adjacent data sets .

【Sample Input】

3

5

7

1

8

6

4

2

0 0 【Sample output】

1 3 5 7

acm程序设计大赛试题

acm程序设计大赛试题 ACM(Association for Computing Machinery)程序设计大赛 是一项面向大学生的编程竞赛,旨在提高参赛者在算法和数据结构 方面的能力。每年都会举办多个级别的比赛,包括区域赛、国家赛 和世界总决赛。 ACM程序设计大赛试题通常涵盖广泛的计算机科学和编程知识,包括但不限于以下几个方面: 1. 算法和数据结构,试题可能涉及各种经典算法和数据结构的 应用,如排序、查找、图论、动态规划、贪心算法等。参赛者需要 能够理解这些算法的原理和实现方法,并能够根据问题的要求选择 合适的算法进行解题。 2. 编程语言和编程技巧,参赛者需要熟练掌握至少一种编程语言,通常是C++、Java或Python。他们需要能够使用该语言进行编程,实现算法和数据结构的代码,并能够处理输入输出、异常处理 等编程任务。此外,熟练掌握一些编程技巧,如优化算法、调试代 码等也是非常重要的。

3. 数学和逻辑思维,ACM程序设计大赛试题可能涉及一些数学 和逻辑问题,如数论、组合数学、概率统计等。参赛者需要具备基 本的数学知识,并能够将其应用到解题过程中。 4. 实际问题的建模和解决,ACM程序设计大赛试题通常基于实 际问题,参赛者需要能够将问题抽象为计算机可解决的形式,并设 计出高效的算法和数据结构进行求解。这需要参赛者具备一定的问 题建模和解决能力。 5. 时间和空间复杂度分析,参赛者在解决问题时需要考虑算法 的时间和空间复杂度。他们需要能够分析算法的运行时间和所需内存,并根据比赛规则和问题要求选择合适的算法以保证程序的效率。 总的来说,ACM程序设计大赛试题要求参赛者具备扎实的计算 机科学和编程基础,能够独立思考和解决复杂的问题。参赛者需要 在规定的时间内完成试题,并保证程序的正确性和效率。通过参加ACM程序设计大赛,参赛者能够提升自己的编程能力和解决问题的 能力,同时也能够与其他优秀的程序员交流和学习。

2023全国大学生程序设计竞赛题目

2023全国大学生程序设计竞赛题目今年的全国大学生程序设计竞赛将于2023年举行。本次竞赛将囿于程序设计领域,旨在考察参赛选手的编程能力、解决问题的能力以及团队合作精神。以下是本次比赛的几道题目,希望能够为参赛选手提供一些思路和挑战。 题目一:图书管理系统 设计一个图书管理系统,能够实现以下功能: 1. 图书录入:包括图书的基本信息(书名、作者、出版社等)以及库存数量。 2. 图书查询:根据关键词(书名、作者等)进行图书查询,并显示图书的详细信息。 3. 借书与还书:实现图书的借出和归还功能,并更新库存数量。 4. 图书推荐:根据用户的借阅历史推荐相关图书。 题目二:火车票订购系统 设计一个火车票订购系统,能够实现以下功能: 1. 火车线路与时刻表:提供火车线路和时刻表信息,包括出发地、目的地、经停站点和到达时间等。 2. 站点查询:根据出发地和目的地查询经停该站点的火车。

3. 车票预订:用户选择出发地、目的地和乘车日期后,系统显示可用车次和余票数量,并支持用户预订车票。 4. 订单管理:用户可以查看自己的订单信息,包括已购车票的详细信息和订单状态。 题目三:智能家居控制系统 设计一个智能家居控制系统,能够实现以下功能: 1. 设备控制:包括灯光、温度、窗帘等设备的远程控制。 2. 定时任务:用户可以设置定时任务,如定时开关灯光、调节室内温度等。 3. 情景模式:用户可以设置情景模式,如影院模式、就寝模式等,系统将根据用户的设置自动调节设备状态。 4. 能耗统计:系统能够记录和展示各个设备的能耗,以便用户了解和管理家庭的能源消耗。 以上是本次竞赛的几道题目,希望参赛选手能够根据自己的技能和经验,在规定时间内完成这些挑战。祝愿大家在比赛中取得好成绩,展现自己优秀的程序设计和解决问题的能力!

大学生程序设计竞赛选拔题目new

大学生程序设计竞赛选拔题目 各位选手注意: 请大家在D盘用自己的名字新建一个文件夹,将源文件都保存到该文件夹下,保存源程序时,程序1保存为pro1.c程序2保存为pro2.c依次类推,可以从以下19题中任选题目进行比赛,但保存文件名要与题目号对应!!! 【程序1】 题目:判断101-200之间有多少个素数,并输出所有素数。 ============================================================== 【程序2】 题目:将一个正整数分解质因数。例如:输入90,打印出90=2*3*3*5。 ============================================================== 【程序3】 题目:两个乒乓球队进行比赛,各出三人。甲队为a,b,c三人,乙队为x,y,z三人。已抽签决定比赛名单。有人向队员打听比赛的名单。a说他不和x比,c说他不和x,z比,请编程序找出三队赛手的名单。 ============================================================== 【程序4】 题目:打印出如下图案(菱形) * *** ****** ******** ****** *** * ============================================================== 【程序5】 题目:请输入星期几的第一个字母来判断一下是星期几,如果第一个字母一样,则继续判断第二个字母。 ============================================================== 【程序6】 题目:输入一个数组的值(10个数组元素),先将其排序。现输入一个数,要求按原来的规律将它插入数组中。 ============================================================== 【程序7】 题目:编写一个函数,实现字符串的倒序输出。比如:输入字符串student 输出结果为tneduts ============================================================== 【程序8】

程序设计比赛试题

程序设计比赛试题 主办方:迅翔计算机协会

最少钱币数: 【问题描述】 这是一个古老而又经典的问题。用给定的几种钱币凑成某个钱数,一般而言有多种方式。例如:给定了6种钱币面值为2、5、10、20、50、100,用来凑15元,可以用5个2元、1个5元,或者3个5元,或者1个5元、1个10元,等等。显然,最少需要2个钱币才能凑成15元。 你的任务就是,给定若干个互不相同的钱币面值,编程计算,最少需要多少个钱币才能凑成某个给出的钱数。 【要求】 【数据输入】输入可以有多个测试用例。每个测试用例的第一行是待凑的钱数值M(1 <= M <= 2000,整数),接着的一行中,第一个整数K(1 <= K <= 10)表示币种个数,随后是K 个互不相同的钱币面值Ki(1 <= Ki <= 1000)。输入M=0时结束。 【数据输出】每个测试用例输出一行,即凑成钱数值M最少需要的钱币个数。如果凑钱失败,输出“Impossible”。你可以假设,每种待凑钱币的数量是无限多的。 【样例输入】 15 6 2 5 10 20 50 100 1 1 2 【样例输出】 2 Impossible

Feli 的生日礼物 【问题描述】 Felicia 的生日是11月1日(和Kitty是同一天生的哦)。于是Feli请来Kitty一起过生日。Kitty带来了最新款的“Kitty猫”玩具准备送给Feli,不过她说,这份礼物可不是白送的。Feli要帮她一个忙,才能够得到心仪已久的玩具。Kitty说,“Kitty猫”玩具已经卖出了n!个,n<=10^100 *_*,Kitty想知道确切的数字,而不是无聊的“一个数加个感叹号”。Feli 听了大吃一惊。要知道,算出n!是一个无比艰巨的任务。Feli告诉Kitty,就算Feli算出n!,Kitty也看不下去,因为当n=20 时,计算机的长整型已经存不下了(Kitty只能接受1-9之间的数字)。于是Kitty说,你只要告诉我n!最后一位非0的数就可以了。Feli想了想,立刻动手写了个程序算出了正确的答案。现在,请你也试试看!注意哦,AC的男生将会得到一个“Hello Kitty”计算器(可编程,CPU 1THz,Mem 1TMB),AC的女生将会得到一个仿真“Hello Kitty”宠物(善解人意,无须喂养,智商1101,附带写情书功能)。 【要求】 【数据输入】每行一个n,直到输入数据结束 【数据输出】对应输入的n,每行输出一个答案 【样例输入】 1101 【样例输出】 8

2023全国大学生程序设计竞赛题解析

2023全国大学生程序设计竞赛题解析(正文内容) 作为全国范围内最具影响力的大学生程序设计竞赛,2023全国大学生程序设计竞赛旨在考察参赛选手在程序设计方面的才华和能力。本 文将对2023全国大学生程序设计竞赛中的题目进行解析,帮助参赛选 手更好地理解和应对比赛。 题目一:算法优化 本题考察参赛选手在算法设计和优化方面的能力。要求参赛选手设 计一个算法,能够在给定的时间和空间限制下解决指定的问题。本题 需要选手分析问题的特点,选择合适的算法策略,并进行算法优化, 以提高算法的效率。 解析: 在解题过程中,首先需要仔细阅读题目要求,理解问题的背景和目标,确定问题的输入和输出格式,并根据题目要求设计算法的主要思路。 其次,分析问题的特点,确定合适的算法策略。根据对问题的理解,可以选择贪心算法、动态规划、深度优先搜索、广度优先搜索等不同 的算法策略。

进一步,针对所选择的算法策略进行优化。可以从减少时间复杂度、空间复杂度等方面考虑算法的改进和优化。例如,可以尝试使用数据 结构进行存储和快速检索,或者使用剪枝技术减少冗余计算。 最后,通过实际编程实现算法,并对其进行测试。在测试过程中, 可使用多组输入数据进行验证,检查算法的正确性和效率。根据测试 结果,对算法进行必要的调整和修改,以达到最佳效果。 题目二:并行计算 本题考察参赛选手在并行计算和多线程编程方面的能力。要求参赛 选手设计并实现一个并行计算的任务,能够利用多线程实现对输入数 据的并发处理,并输出正确的结果。本题需要选手熟悉多线程编程的 基本知识和技术,以及对并行计算的实现和优化。 解析: 在解题过程中,首先需要明确问题的输入和输出要求,确定并行计 算的任务和目标。 其次,根据问题的特点和要求,设计合适的并行计算方案。可以考 虑使用多线程进行任务的拆分和处理,并通过线程间的通信和同步机 制保证各个线程的正确执行和数据的一致性。 进一步,优化并行计算的效率。可以采用任务调度算法,合理分配 任务和资源,避免线程间的竞争和冲突,提高并行计算的效率。此外,还可以考虑利用硬件加速技术,如GPU计算等,进一步提升并行计算 的速度和性能。

C语言程序设计竞赛题目(学生使用)

计算机科学学院第二届专业技能大赛 C语言程序设计竞赛 时间:2小时 要求:编写程序并调试通过。 1. 问题描述: 某电视台有一娱乐节目,主持人让观众猜商品的价格,若观众能在规定的时间内猜中商品的价格即可获得该商品。例如,有一精美书包(假设实际价格为282元,事先观众不知道),观众只知道在市面上可能的价格范围为100到400元。此时若观众猜的价格为300元,主持人会告诉观众“大了”;若观众猜的价格为200元,主持人会告诉观众“小了”;直到在规定的时间内观众猜中了商品的价格。现请你编程模拟猜商品价格的过程,要求在最少的次数内猜中商品的价格(精确到整数)。 输入描述:先输入一个整数,表示要猜商品价格的次数,然后每行输入三个整数B E R,B和E表示观众估计的商品价格范围,R表示实际商品价格。 输出描述:输出每种商品你所猜的价格。 运行后若输入: 2 100 400 282 1 20 15 则结果输出为: 250,325,287,268,277,282, 10,15, 2. 登山机器人问题 问题描述: 登山机器人是一个极富挑战性的高技术密集型科学研究项目,它为研究发展多智能体系统和多机器人之间的合作与对抗提供了生动的研究模型。登山机器人可以携带有限的能量。在登山过程中,登山机器人需要消耗一定能量,连续攀登的路程越长,其攀登的速度就越慢。在对n 种不同类型的机器人作性能测试时,测定出每个机器人连续攀登1米,2米,…,k 米,所用的时间。现在要对这n个机器人作综合性能测试,举行机器人接力攀登演习。攀登的总高度为m 米。规定每个机器人只能攀登1次,每次至少攀登1 米,最多攀登k 米,而且每个机器人攀登的高度必须是整数,即只能在整米处接力。安排每个机器人攀登适当的高度,使完成接力攀登用的时间最短。

全国高校计算机能力挑战赛程序设计赛题库c++

全国高校计算机能力挑战赛 - 程序设计赛题库(C++) 一、引言 “全国高校计算机能力挑战赛 - 程序设计赛”是一项旨在提高高校学生计算机能 力的比赛。作为参赛选手,我们需要熟练掌握C++编程语言,并具备良好的算法设计和实现能力。为此,挑战赛提供了一系列涵盖不同难度和领域的题目,旨在锻炼我们的编程与解决问题的能力。 下面,我们将介绍几个经典的题目,展示它们的解题思路和对应的C++代码实现。 二、题目一:最大公共前缀 题目描述 给定一个字符串数组strs[],找到这些字符串的最长公共前缀。 解题思路 我们可以采用纵向比较的方式来寻找最长公共前缀。首先,将字符串数组的第 一个字符串作为基准。然后,遍历基准字符串的每个字符,并与其他字符串相同位置的字符进行比较。如果遇到不相等的字符或者其他字符串长度不足,就停止比较。最终,我们就能得到最长公共前缀。 C++代码实现 #include #include using namespace std; string longestCommonPrefix(vector& strs) { if (strs.empty()) return""; string ans; for (int i = 0; i < strs[0].size(); i++) { char c = strs[0][i]; for (int j = 1; j < strs.size(); j++) { if (i >= strs[j].size() || strs[j][i] != c) { return ans; } } ans.push_back(c); } return ans; }

程序设计大赛软件设计竞赛参考题目

程序设计大赛软件设计竞赛参考题目 一、非专业组 1、2048 【问题描述】 2048是比较流行的一款数字游戏,游戏规则很简单,每次可以选择上下左右其中一个方向去滑动,每滑动一次,所有的数字方块都会往滑动的方向靠拢外,系统也会在空白的地方随机出现一个数字方块,相同数字的方块在靠拢、相撞时会相加。系统给予的数字方块不是2就是4,玩家要想办法在这小小的16格范围中凑出“2048”这个数字方块。 【功能要求】 (1)电脑/手机环境下游戏操控功能 (2)设置棋盘,如3x3,4x4,5x5棋盘 (3)游戏成绩排行功能 (4)游戏声音效果功能 (3) 程序独特性功能,如采用3或斐波那契数列等 【界面】 要求使用友好美观的图形界面,操作方便。 2、自选题目 【说明】 题目需要提交大赛工作组备案,并请提交详细方案说明,由大赛工作组确认后方可进行。 二、专业组 1、DotA群战战术 【问题描述】 DotA是Defense of the Ancients的简称,是指基于魔兽争霸3:冰封王座的多人即时对战。DotA群战战术程序首先记录游戏中每个角色的等级、装备、

技能等状态,通过分析角色技能释放对目标角色的血量影响(加血或减血)情况分析群战攻击策略(如攻击目标先后,技能释放先后、攻击方式(线攻、面攻)选择等等)。 【功能要求】 (1)手动记录或文件导入游戏中每个角色的等级、装备、技能等状态; (2)设置攻击策略,如攻击目标个数和顺序; (3) 分析群战战术并显示相应结果(分析过程可采用遍历算法); (3) 程序独特性功能,如角色数据与游戏数据实时更新等。 【界面】 要求程序效率(即战术分析时间)较好,图形界面友好美观的,操作方便。 2、自选题目 【说明】 题目需要提交大赛工作组备案,并请提交详细方案说明,由大赛工作组确认后方可进行。 第十四届程序设计大赛报名汇总表 学院(系):_____________负责人:_________联系方式:_________ 序号姓名性别班级联系方式所选题目指导教师

华南理工大学第一届程序设计竞赛比赛试题

华南理工大学第一届程序设计竞赛比赛试题 华南理工大学首届大学生程序设计竞赛 SCUTCPC 试题 Problem A IP Address Problem description Suppose you are reading byte stream s from any device, representing IP addresses. Your task is to convert a 32 characters long sequence of '1's and '0's (bits) to a dotted decim al format. A dotted decim al format for an IP address is form by grouping 8 bits at a tim e and converting the binary representation to decim al representation. Any 8 bits is a valid part of an IP address. To convert binary numbers to decim al numbers rem ember that both are positional numerical system s, where the first 8 positions of the binary system s are: 2726252423222120 128 64 32 16 8 4 2 1 Input You should read input data from the file of “ipaddress.in”. The input will have a number N (1<=N<=9) in its first line representing the number of stream s to convert. N lines will follow. Output Output your result to the standard output device. The output must have N lines with a doted decim al IP address. A dotted decim al IP address is formed by grouping 8 bit at the tim e and converting the binary representation to

计算机程序设计大赛竞赛题

计算机程序设计大赛 竞赛题 □JS 竞赛题 题目要求:用HTML + CSS + JavaScript制作一个前台页面(index.html)。你可以使用纯JavaScript实现页面的动态效果,也可以使用JavaScript库,但最好是jQuery。注:CSS、JavaScript要独立于html文件,单独保存为外部文件(如index.css、inde x.js)。具体要求如下: 1、设计一个有布局的界面,你可以使用tab或者tree形目录作为导航,但每级导航的 内容不可存在于该文件(index.html)中,要放在另外的html文件里。tree形目录作为导航的,要至少支持3级导航。希望你能够把以下要求的实现作为某级导航的内容放在该级导航下。该页面是你展示后续实现的门户,所以请尽量注意美观。 2、使用“题目要求”中提及的技术,实现一个4×4的拼图游戏。在实现以下“基本要 求”的前提下才可以实现后续的“扩展要求”。“基本要求”务必全部实现,“扩展要求”请尽可能多地实现。 基本要求: 1)格子内必须是图片而不是字符。示例如图1。 图1 2)通过鼠标点击有图片的格子,将其移动到相邻的无图片的格子。 3)要有游戏功能控制按钮,如“开始”、“重来”等。 4)游戏成功完成后要有提示。 5)需要时请考虑JavaScript的执行效率。 6)游戏的CSS、JavaScript要独立于html文件,单独保存为外部文件。 扩展要求: 1)必须考虑JavaScript的执行效率。 2)支持键盘方向键操作,即←↑↓→键的操作。 3)支持“计时”、“计步”玩法。

4)支持预定义好的几种矩阵(方阵)大小,甚至自定义的矩阵(方阵)大小,5×5、6×6等等。 5)支持不只1张拼图背景图片,甚至自定义的拼图背景图片。 6)支持智能拼图,即游戏初始时或游戏进行过程中,通过智能拼图功能完成余下步骤,当然,每一步的时间间隔要足以让肉眼辨别。 3、页面的美观度,布局的合理性,动态效果的流畅度也是评分的重点。请尽可能地展 现你对网页设计的理解。 技术简介:以下将对你在完成题目过程中一定或可能用到的技术作一个简单介绍。 1、HTML:HTML(HyperText Mark-up Language)即超文本标记语言或超文本链接标示 语言,是目前网络上应用最为广泛的语言,也是构成网页文档的主要语言。相信有过网页制作经历的同学对它不会陌生。 2、CSS:CSS(Cascading Style Sheet)即层叠样式表或级联样式表是一组格式设 置规则,用于控制Web页面的外观。通过使用CSS样式设置页面的格式,可将页面的内容与表现形式分离。相信有过网页制作经历的同学对它也不会陌生。 3、JavaScript:JavaScript是一种由Netscape的LiveScript发展而来的原型化继承 的面向对象的动态类型的区分大小写的客户端脚本语言。相信有过网页制作经历的同学对它也早有耳闻。 4、jQuery:jQuery是继Prototype之后又一个优秀的JavaScript框架。其宗旨是 ——WRITE LESS,DO MORE即写更少的代码,做更多的事情。 jQuery由美国人John Resig创建,至今已吸引了来自世界各地的众多JavaScript高手加入其Team。它是轻量级的js库,这是其它的js库所不及的,它兼容CSS3,还兼容各种浏览器(IE 6.0+, FF 1.5+, Safari 2.0+, Opera 9.0+)。 jQuery是一个快速的,简洁的 JavaScript库,使用户能更方便地处理HTML Documents、Events、实现动画效果,并且方便地为网站提供AJAX交互。 jQuery还有一个比较大的优势是,它的文档说明很全,而且各种应用也说得很详细,同时还有许多成熟的插件可供选择。 jQuery 能够使用户的html页保持代码和html内容分离,也就是说,不用再在html里面插入一堆js来调用命令了,只需定义id即可。关于jQuery的更多内容你可以访问它的官网https://www.360docs.net/doc/8c19195893.html,。 □数据操作与控制竞赛题 题目要求:用C#.Net和access制作一个B/S结构的公司公告发布系统。 具体需求如下: 1.普通员工可以查看和查询自己的公告。

C语言程序设计竞赛试题参考答案

C语言程序设计竞赛试题参考答案 第七届“蓝桥杯”全国软件与信息技术专业人才大赛清远职业技术学院选拔赛《C语言程序设计》参考答案1.标题:年龄巧合(填空题,20分) 答案: 1988 2.标题:海盗分金币(填空题,20分) 答案: 3129 3.标题:啤酒和饮料(填空题,20分) 答案: 11 4.标题:兔子繁殖(程序填空,20分) (1) i=1;i<=38;i++ (2) f3=f1+f2 (3) f1=f2 (1) f2=f3 5.题目:杨辉三角(编程题 20分) 代码如下: #include #include int main() { int i,j,k,n; static int a[50][50]; printf("Input lines\",&n); scanf("%d",&n); a[1][1]=a[2][1]=a[2][2]=1; for(i=3;i<=n;i++) for(j=1;j<=i;j++) a[i][j]=a[i-1][j-1]+a[i-1][j];

for(i=1;i<=n;i++) { for (k=1;k<=n-i;k++) printf(" "); for(j=1;j<=i;j++) printf("%2d ",a[i][j]); printf("\"); } getch(); return 1; } 1-3题参考代码 1、代码如下: #include int main(void) { int a, b, c, d; int age; int year; for(a=0; a<=2; a++) { for(b=0; b<=9; b++) { for(c=0; c<=9; c++) { for(d=0; d<=9; d++) { age = a+b+c+d; year = 2014-(a*1000+b*100+c*10+d);

程序设计比赛专业组【正式赛】试题

T1猜素数游戏 时间限制:1000 ms | 内存限制:65535 KB 【问题描述】 在世博园的梦想花园中,游客可利用手机等终端与梦想剧场内的虚拟人物Kr. Kong进行猜数比赛。当屏幕出现一个整数X时,若你能比Kr. Kong更快的发出最接近它的素数答案,你将会获得一个意想不到的礼物。 例如:当屏幕出现22时,你的回答应是23;当屏幕出现8时,你的回答应是7;若X 本身是素数,则回答X;若最接近X的素数有两个时,则回答大于它的素数。 【标准输入】 第一行:N 要竞猜的整数个数 接下来有N行,每行有一个正整数X 【标准输出】 输出有N行,每行是对应X的最接近它的素数。 【约束条件】 1≤N≤5 1≤X≤1000 【 T2 字母游戏 时间限制:1000 ms | 内存限制:65535 KB 【问题描述】 peter喜欢玩字母游戏,于是他编写了一个有趣的游戏。游戏规则是在一个 (N-1) * N 的表格里填写字母,规则:对于每个输入的N,由 (N-1) * N的字母区域的左上角开始,从字母A开始逆时针填充一个字母区域,乘积若超过26继续由新一组的A、B、C……填充,不要求输出边框。 【输入】 多组测试数据(数据量在100组以内)。每组测试数据只有一行为一个整数N(1<=N<=30),表示表格的宽度。 【输出】 对于每组输入数据,输出N-1行,为填完的表格(N-1行,每行N个整数,每个数字之间用空格隔开)。 【样例输入】 5 【样例输出】

代表一个4*5的顺时针旋转的字母区域,其样式如下: A B C D E N O P Q F M T S R G L K J I H T3 统计问题 时间限制:1000 ms | 内存限制:65535 KB 【问题描述】 在一个充分大的棋盘上,我们做如下假设: 1、每次只能移动一格; 2、不能向后走(假设你的目的地是“向上”,那么你可以向左走,可以向右走,也可 以向上走,但是不可以向下走); 3、走过的格子立即塌陷无法再走第二次; 求走n步不同的方案数(2种走法只要有一步不一样,即被认为是不同的方案)。【输入】 首先给出一个正整数C,表示有C组测试数据 接下来的C行,每行包含一个整数n (n<=20),表示要走n步。 【输出】 请编程输出走n步的不同方案总数; 每组的输出占一行。 【样例输入】 2 1 2 【样例输出】 3 7 T4 AC_mm玩dota 时间限制:1000 ms | 内存限制:65535 KB 【问题描述】 大家都知道AC_mm比较喜欢玩游戏,特别是擅长war3这款经典游戏。某天AC_mm来到了VS平台上,准备去虐菜鸟,正巧一个不小心将我们ACM队长虐了 ^_^,我们的队长这下可不高兴了,说要出一道难题让AC_mm难堪一下。题目描述是这样的,给一个正整数n,n在二进制表示的情况下(不含前导0和符号位)有a个1和b个0,求斐波拉契数列的第a*b项对1314520取模后的值ans。 注意(斐波拉契数列: f[0]=1,f[1]=1; f[n]=f[n-1]+f[n-2] ; n>=2;) 【输入】 输入:有多组测试数据,输入一个正整数n(n<1000000000); 【输出】 输出:ans的值

C语言程序设计大赛题目和答案

C语言程序设计大赛题目和答案在这篇文章中,我们将介绍一些C语言程序设计大赛的题目和对应的答案。希望通过这些题目和答案的展示,能够对大家在C语言程序设计方面的知识有所帮助。 题目一:计算圆的周长和面积 编写一个C程序,计算给定半径的圆的周长和面积,并输出结果。 ```c #include int main() { double radius, perimeter, area; printf("请输入圆的半径:"); scanf("%lf", &radius); perimeter = 2 * 3.14159 * radius; area = 3.14159 * radius * radius; printf("圆的周长为:%.2lf\n", perimeter); printf("圆的面积为:%.2lf\n", area); return 0; } ```

题目二:查找数组中的最大值 编写一个C程序,从给定的整型数组中查找并输出最大的元素。```c #include #define MAX_SIZE 100 int main() { int array[MAX_SIZE], size, i; int max; printf("请输入数组的大小:"); scanf("%d", &size); printf("请输入数组的元素:"); for(i = 0; i < size; i++) { scanf("%d", &array[i]); } max = array[0]; for(i = 1; i < size; i++) { if(array[i] > max) { max = array[i]; }

大学生程序设计竞赛试题(正式赛)

中原工学院第一届大学生程序设计竞赛 正式比赛试题 主办:中原工学院教务处学生处校团委计算机学院 承办:中原工学院计算机学院 地点:计算机学院实验中心406实验室 时间:2010年4月11日

【试题一】 兔子 【题目描述】 兔子具有很强的繁殖能力。一对成年兔子每个月可以繁殖一对小兔子,而一对小兔子经过m个月之后,就会长成一对成年兔子。通过分析,我们可以看出:若m=2的时候,每个月兔子的对数构成了一个Fibonacci数列。 但是,若m<>2,这个问题看起来就不那么简单了。你的任务是计算:假定初始只有一对兔子,那么,经过d个月之后,共有多少对兔子?可以假定,在此阶段没有任何兔子死亡。 【输入】 输入包括多组测试数据。每组测试数据的一行中包括2个整数m(1<=m<=10), d(1<=d<=30)。当测试数据遇到一行中有两个0时,即m=d=0,测试数据结束。 【输出】 针对每组测试数据,在每一行输出经过d个月后共有多少对兔子。 【输入样例】 2 3 3 5 0 0 【输出样例】 5 9 【试题二】 网页浏览器 【题目描述】

Mozilla Firefox是一个自由的,开放源码的网页浏览器,适用于Windows, Linux 和MacOS X等平台。Firefox火狐校园大使是Mozilla开源社区项目的一部分,针对在校的高年级本科生和研究生以及众多技术爱好者,在校园中推广开源项目和开放技术,让更多的开发人员受益于Mozilla的开放技术和免费资源。你很荣幸得到了这样一个机会,为Firefox编写一个重要的导航模块。 正如上图所示,导航模块要接受用户的后退、前进、进入用户输入的网址以及清空浏览记录等操作。 【输入】 为了简化问题,用户所有的操作都以字符的形式从标准输入读入。每一行描述一个操作,各操作的格式和功能如下所示: 操作功能 back 如果当前页面不是第一个页面,则跳到到前一个页面, 并输出这个页面的网址 forward 如果当前页面不是最后一个页面,则跳到到后一个页面, 并输出这个页面的网址 url 网址跳转到用户输入的网址(网址不含空格) clear 清空浏览记录(当前页面除外) exit 退出浏览器 浏览器启动时默认进入中原工学院的主页” https://www.360docs.net/doc/8c19195893.html,” 【输出】 对于每一个需要输出网址的操作,输出对应的网址。每个网址恰好占一行,不要有多余的字符(包括空格和换行)。详细格式可以参考输入输出样例。 【输入样例】 url https://www.360docs.net/doc/8c19195893.html,/chinacampus/ url http://127.0.0.1 back back back forward clear url https://www.360docs.net/doc/8c19195893.html,/ forward back back exit 【输出样例】

江苏科技大学第五届大学生程序设计竞赛(考试试题)

江苏科技大学第五届大学生程序设计竞赛 (考试试题) 江苏科技大学 第五届大学生程序设计竞赛 (程序请按照格式使用标准输入输出) 程序运行不正确是指出现以下三种情况: 1、运行出错(run error) 2、运行结果错误(wrong answer) 3、运行结果输出格式错误(presentation error) 程序运行不正确,该程序将被退还给参赛者,参赛者可以进行修改后再一次提交该程序,但只有一次修改机会,另外需要被罚时20分钟。 每条程序请自行测试正确后再提交老师测试检查 1、编写程序实现念数字功能:当你输入一个0至99之间的数后,程序能使用汉字拼音输出这个数的念法。如果输入的数不在0到99之间,则输出“CUO LE”(错了)。 数字念法:零LING 一YI二ER三SAN四SI五WU 六LIU七QI八BA九JIU十SHI

一个整数N(0 ≤ N ≤ 99) 对应整数的汉字拼音念法 96 JIU SHI LIU 2、计算机学院新生进行军训队列训练,将新生从一开始按顺序依次编号,并排成一行横队,训练的规则如下:从头开始一至二报数,凡报到二的出列,剩下的向小序号方向靠拢,再从头开始进行一至三报数,凡报到三的出列,剩下的向小序号方向靠拢,继续从头开始进行一至二报数。。。,以后从头开始轮流进行一至二报数、一至三报数直到剩下的人数不超过三人为止。 一个正整数表示新生人数,新生人数不超过500。 剩下的新生最初的编号。 20

1 7 19 3、一对成年兔子每个月可以繁殖一对小兔子,而一对小兔子经过M个月之后,就会长成一对成年兔子。通过分析,可以看出:若M=2的时候,每个月兔子的对数构成了一个Fibonacci 数列。但是,若M2,这个问题就有了变化。编写程序计算:假定初始只有一对兔子,那么,经过D个月之后,共有多少对兔子?假定:在此阶段没有任何兔子死亡。 输入只有一行,包括2个整数M(1<=M<=10),D(1<=D<=30)。 输出经过D个月后共有多少对兔子。 2 3 5 4、扬扬有很多玩具,他都非常喜欢。可是当他要去国外居住的时候,妈妈觉得这些玩具带着太麻烦,准备都扔掉。扬扬实在舍不得这些玩具,就向妈妈求情,妈妈后来同意可以带一部分玩具走,她给了扬扬一个小箱子,让他自己挑选。你现在就帮扬扬想想办法,看看怎么样用这个小箱子带走最多的玩具。(体积只考虑数量级,不考虑形状,位置)

程序设计大赛试题

程序设计大赛试题 一、选择题 ( 每小题 2 分,共 20分 ) 1. 已有定义 : int x = 3 , y = 4 , z = 5 ; 则表达式 !(x+y) –z+1&&y+z>>2 的值是 ( ) A) 1 B) -3 C) 2 D) 0 2. 阅读下面程序,执行后的结果为( ) int fun ( int x[ ] , int n ) { static int sum = 0 , i ; for ( i=0 ; i< n ; i++) sum+=x[ i ] ; return sum ;} main ( ) { int a[ ]= {1,2,3,4,5}; b[ ]= {6,7,8,9}, s = 0 ; s = fun ( a , 5 ) + fun ( b , 4 ) ; printf ( “%d\n ” , s ) ; } A) 55 B) 45 C) 50 D) 60 3. 已知 : int a[6], *p = a ; 则下列不能表示 a[1] 地址的表达式是 ( ) A) a+1 B) a++ C) ++p D) p+1 4. 有以下程序 struct st { int n ; struct st *next ; }; static struct st a[3]={ 5, &a[1] , 7 , &a[2] , 9, '\0' } , *p ; 则值为 6 的表达式是 ( ) A) p++ -> n B) p-> n ++ C) ++p-> n D) ( *p ) .n++ 5. 以下程序的运行结果是 ( ) point ( char * p ) { p+=3;} main ( ) { char b [ 4 ] = { ‘a ' , ‘b ' , ‘c ' , ‘d ' } , *p = b ; point ( p ) ; printf ( “%c\n ”, *p ) ; } A) a B) b C) c D) d 6. 设有以下定义: int a[4][3]= {1 ,2,3,4, 5,6,7,8,9,10,11, 12};

C程序设计第六届竞赛试题

黄淮学院第六届程序设计竞赛试题 考试时间三个小时,共七道试题 试题一素数问题 走进世博园某信息通信馆,参观者将获得前所未有的尖端互动体验,一场充满创想和喜悦的信息通信互动体验秀将以全新形式呈现,从观众踏入展馆的第一步起,就将与手持终端密不可分,人类未来梦想的惊喜从参观者的掌上展开。在等候区的梦想花园中,参观者便开始了他们奇妙的体验之旅,等待中的游客可利用手机等终端参加互动小游戏,与梦想剧场内的虚拟人物Kr Kong进行猜数比赛。当屏幕出现一个整数x时,若你能比Kr Kong更快的发出最接近它的素数答案,你将会获得一个意想不到的礼物。 例如:当屏幕出现22时,你的回答应该是23;当屏幕出现8时,你的回答应是7;若x本身是素数,则回答x;若接近x的素数有两个时,则回答大于它的素数。 标准输入 第一行:N 要竞猜的整数个数 接下来有N行,每行只有一个正整数x 标准输出 输出有N行,每行是对应x的最接近它的素数。 约束条件 1<=N<=5 1<=x<=1000 样例输入 3 8 23 25 样例输出 7 23 23 #include #include void main() { int prime(int m); int N,i,a[5]; int compare1,compare2; while(N<1||N>5)

{ scanf("%d",&N); if(N<1||N>5) printf("输入有误请重新输入:\n"); } for(i=0;i

程序设计大赛试题及答案

试题 1、数学黑洞(程序文件名maths.c/maths.cpp) 【问题描述】 任给一个4位正整数,其各位数位上的数字不全相同,将数字重新组合成一个最大的数与最小的数相减,重复这个过程,最多7步,必得6174。对任给的4位正整数(各位数位上的数字不全相同),编程输出掉进黑洞的步数。【输入】 一行,一个4位正整数n(1000< n<9999) 【输出】 掉进黑洞的步数 输入 1234 输出 3 2、进制转换(程序文件名conver.c/conver.cpp) 【问题描述】 任给一个十进制整数n,及正整数m(m<=16且m≠10), 将n转换成m进制并输出。 【输入】 一行,两个整数n,m(0 ≤ n ≤ 500000,2 ≤ m ≤ 16,且m≠10),中间用一个空格隔开,其中n 表示十进制数。 【输出】 转换后的数 【输入输出样例】 输入 255 8 输出 377 3、分数线划定(程序文件名score.c/score.cpp) 【问题描述】 公务员选拔工作正在 A 市如火如荼的进行。为了选拔优秀人才,A 市对所有报名的选手进行了笔试,笔试分数达到面试分数线的选手方可进入面试。面试分数线根据计划录取人数的150%划定,即如果计划录取m名公务员,则面试分数线为排名第m*150%(向下取整)名的选手的分数,而最终进入面试的选手为笔试成绩不低于面试分数线的所有选手。现在就请你编写程序划定面试分数线,并输出所有进入面试的选手的报名号和笔试成绩。【输入】 第一行,两个整数n,m(5 ≤ n ≤ 5000,3 ≤ m ≤ n),中间用一个空格隔开,其中n 表示报名参加笔试的选手总数,m 表示计划录取的人数。输入数据保证m*150%向下取整后小于等于n。 第二行到第 n+1 行,每行包括两个整数,中间用一个空格隔开,分别是选手的报名号k(1000 ≤ k ≤ 9999)和该选手的笔试成绩s(1 ≤ s ≤ 100)。数据保证选手的报名号各不相同。 【输出】 第一行,有两个整数,用一个空格隔开,第一个整数表示面试分数线;第二个整数为进入面试的选手的实际人数。 从第二行开始,每行包含两个整数,中间用一个空格隔开,分别表示进入面试的选手的报名号和笔试成绩,按照笔试成绩从高到低输出,如果成绩相同,则按报名号由小到大的顺序输出。 【输入输出样例】 输入 6 3 1000 90 3239 88 2390 95 7231 84 1005 95 1001 88

计算机程序设计比赛试卷

计算机程序设计比赛试卷 第一篇:计算机程序设计比赛试卷 计算机程序设计比赛试卷 (考试时间120分钟,总分100分) 说明: 1、比赛使用语言:C、C++、VB 2、题目完成后,存放在D:Test下以题号名单的文件夹当中 班别:姓名:机号:成绩: 1、输入一个摄氏温度,要求输出华氏温度,公式为F= C代表华氏温度,结果取两位小数。(10分) 2、输入整数a、b、c,由小到大输出。(10分) 3、计算74和68公约数的和。(15分) 4、一电文(由字母和数字组成)字母按以下规则加密:(20分) A->Za->z B->Yb->y C->Xc->x 。。 即第一个字母变成第26个字母,第i个字母编程第(26-i+1)个字母。 而数字变化规则如下: 0->9 1->8 2->7 。。 即第一个数字0变成9,第数字i变成(9-i) 求编写程序将电文加密 5、接上题,求解密程序。(20分) 6、魔方方阵是指方阵的每一行、每一列、对角线之和均相等,例如三阶的魔方方阵为:816

357 492 魔方方阵数字排列规则如下: (1)、将“1”放在第一行中间的一列。 (2)、从“2”开始直到N×N(N为阶数)止各数按以下规则存放:每一个数存放行比 前一个数的行数减 1、列数加1 (3)、如果目前该数的行数为1,则下一个数的行数为N(最下面行) (4)、如果目前该数的烈数为N,则下一个数的列数为1 (5)、按以上规则:如果当要存放数的位置已经有数存在、或者要存放的数是在第一行 时,则把要存放的数放在前一个数的下面。 按以上的规则,求5阶的魔方矩阵。(25分)9C 32,其中F代表摄氏温度、5 第二篇:计算机程序设计比赛活动总结 计信系“技能接力赛——程序找茬” 活动总结 计算机在各行各业中应用都很广泛,基本上每个公司都会用到PPT、WORD等很多应用软件,为了促进计算机与信息工程系学生努力学习关于计算机的各方面知识,让同学们对各种软件有更好的了解我们举办了计算机系列比赛。 总体来说,我们这次以“技能接力赛”为主题的系列活动,各个阶段都十分成功,成功的原因我们总结为以下几点: 1、准备较充分 “凡事预则立,不预则废”在这次活动中得到了充分体现,正是因为有了详实的考虑、周全的计划和充分的准备,这次活动才有了成功开展的前提。如我们提前几个月就和老师商量,并且在活动开始之前我们就有了详细的计划及活动部署。 2、密切配合

相关文档
最新文档