搜档网
当前位置:搜档网 › 作业2 2011年安徽省第二届“达内杯”大学生程序设计竞赛题

作业2 2011年安徽省第二届“达内杯”大学生程序设计竞赛题

作业2 2011年安徽省第二届“达内杯”大学生程序设计竞赛题
作业2 2011年安徽省第二届“达内杯”大学生程序设计竞赛题

2011年安徽省第二届“达内杯”大学生程序

设计竞赛题

Probl em A 幸运数字

Description

有的人喜欢收集邮票,有的人喜欢收集CD,有的人喜欢收集书……

Gardon也有收集癖,然而他收集的是数字,而且是那些在他看来非常幸运的数字。Gardon 觉得,如果一个数字模它的各个数位上的数字之和为0的话,那它就是一个幸运数字。比如说数字18就是一个幸运数字。因为它各个数位上的数字之和为1+8=9,18模9等于0。Gardon是个怕麻烦的人,他不想自己去计算一个数字是不是幸运数字。所以作为Gardon的好朋友,你必须写个程序帮助他。

Input

有多组测试数据,每组数据输入一个整数n(1<=n<=1000000000),输入以文件结束。Output

如果数字n是幸运数字,输出”yes”,否则输出”no”。

Sample Input

11

18

Sample Output

no

yes

Probl em B 转换二叉树

Description

DJ非常痴迷于数据结构,二叉树是他最喜欢的结构模型。这种每个顶点的度不大于2的简单的图总是能激发他的灵感。然而,二叉树的表示方法是一个困扰他已久的问题。如果用链表表示,不直观;画成图形,计算机又难以存储。好在他现在发现了一种既直观,计算机又便于存储的表示方法。该方法定义如下:

1、如果二叉树中节点X是叶子节点,则该节点直接表示为X。

2、如果二叉树中节点X有左子树,则该节点表示为(...)X,括号内为X的左子树。

3、如果二叉树中节点X有右子树,则该节点表示为X(...),括号内为X的右子树。

4、如果二叉树中节点X有左右子树,则该节点表示为(...)X(...),左边括号内为左子树,右边括号内为右子树。

现在DJ有许多二叉树的先序序列和中序序列,DJ要你写个程序帮他把这些二叉树转换为上述表示方法。

Input

输入第一行为一个整数N,表示有N个待转换的二叉树。

接下来有N行,每行由两个字符串组成,中间用空格分开。

每行的第一个字符串为二叉树的先序序列,第二个字符串为二叉树的中序序列。

输入字符串由大写字母组成,每个字母代表二叉树的一个节点,不会有两个相同的字母。你可以假设不会输入无效数据。

Output

每组数据输出占一行,输出转换后的二叉树。

Sample Input

2

AB AB

ABCD BCAD

Sample Output

A(B)

(B(C))A(D)

Probl em C 取石子

Description

CydorniaKnight和Yarmu都是传说中的高智商ACMer。两人关系就如高山流水、伯牙子期,然而都自诩自己智商比对方高。某日,他们相会于长江淮河之间、承东启西、接连中原、贯通南北的历史重镇——合肥。决定通过经典取石子游戏一较高下。

游戏规则为:1.给定n个石子;2.两人轮流取,CydorniaKnight先取;3.第一次不能把所有石子都取完;4.每次至少取一个并且下一次取的石子数不能比上一次取的多;5.先取完所有石子者获胜。

CydorniaKnight和Yarmu都会采用最优策略取石子。你的任务是计算出如果给定的石子数为n,CydorniaKnight能否取胜,以及如果CydorniaKnight可以取胜,那他第一次应该取多少石子。

Input

有多组测试数据,每组数据输入一个整数n(2<=n<=1000000000),输入以文件结束。

Output

如果CydorniaKnight可以取胜,输出"win",并且输出第一次至少应该取多少石子,中间用一个空格分开。否则输出”lose”。

Sample Input

2

3

Sample Output

lose

win 1

Probl em D 关键词统计

Description

搜索引擎需要计算关键词在文章中的相关性,请你写一个程序统计一个单词(不区分大小写)在文章中出现的次数(单词指一个小写的英文单词,全部由小写英文字母组成。单词的前后必须是字母字符或空字符)。

以上是上一届省赛的第一题《统计》

赛后,小盆友们尝试把自己的程序安插到自己的搜索引擎时却发现一个问题:当服务器遇到大量访问时,实验室仅有的一台老爷机式服务器显得十分不给力。于是希望能让服务器在一秒钟内顶住庞大的关键词查询压力,你能帮助他们吗?

Input

仅一组测试数据

第一行是一些句子,表示一篇文章。(文章长度不超过200000个字符)

第二行是一个数字N(1<=N<=10162),代表查询的数目。

以下每行一个单词(单词由小写字母组成,长度不超过20)

Output

每组测试数据输出一行,表示这个单词在文章中出现的次数。

Sample Input

David:hello,lily. Lily:oh,david!hello,how are you?

4

hello

dav

ello

david

Sample Output

2

2

Probl em E 搬书

Description

学校的新图书馆建好了,于是要把老图书馆的书搬到新馆。老图书馆的书非常多,而且都分门别类排放好了。搬书就成了个大问题,不仅要把所有书都搬过去,而且不能把顺序弄乱了。大家商量决定,先用箱子把书按顺序装好后再搬过去。每本书都有一定的体积,一个箱子只能装体积之和不大于它容积的书。箱子要从市场上买,大家都不想浪费。所以就有了一个问题,如果要用m个箱子把所有书装好,那么每个箱子容积至少要是多少呢?假设每个箱子的大小是一样的。

Input

输入第一行为两个整数n和m(1<=n<=10000,1<=m<=100),表示一共有n本书,使用m个箱子。接下来一行有n个整数表示每本书的体积v(1<=v<=10000)。

注:书要按顺序装进箱子,所以只有连续的几本书才能装进一个箱子。

Output

每组数据输出占一行,输出每个箱子容积至少是多少。

Sample Input

2 1

1 3

Sample Output

4

Probl em F 水晶球

Description

在国王的城堡中,有一个能够预言未来的水晶球。王国中的少女都去城堡中预言自己的未来。水晶球会告诉每个少女,她在未来能有多么漂亮的相貌,有多么高的智慧以及有多么多的财富。但是除此之外,水晶球还会告诉她王国中是否有少女无论是相貌、智慧还是财富都超过她。女人是奇怪的动物,如果她得知有其他人在所有方面都超过自己时,她就会从城堡中跳下去- -#。

现在告诉你王国中有N个少女,以及每个少女在未来所能达到的相貌、智慧以及财富。你的任务是计算出有多少少女会从城堡中跳下。相貌、智慧以及财富都用整数表示,数值越大越好。

Input

有多组测试数据,输入以文件结束。

每组数据第一行为一个整数N(N <= 50000),表示有N个少女。

接下来有3行,每行分别有N个整数,每行第i个数对应的是第i个少女的值。第1个是相貌值,第2是智慧值,第3是财富值。所有数字的绝对值小于1000000000。

Output

每组数据输出一个整数,占一行。

Sample Input

3

1 4 2

3 3 2

2 5 3

Sample Output

1

Probl em G 星际航行

Description

船长木木驾着飞船开往木星,期间要穿过小行星带,为了安全起见,飞船上装有微波扫描系统,可获知前方小行星的位置和速度,飞船根据信息计算出是否会与之相撞,并警告船长,船长根据警告调整飞船的位置,避免发生机毁人亡的悲剧。

飞船的形状视为长方形,小行星的形状视为圆形。当前方发现一颗小行星时,扫描系统会向飞船提供一张二维平面图,上面标注那颗小行星的坐标、速度,以及飞船的坐标、速度,飞船上的警告程序计算出是否会相撞,并通知船长。

Input

输入包含多组测试数据,每组测试数据占一行,包含13个浮点数:

AX AY BX BY CX CY VX VY OX OY R VOX VOY

其中AX AY BX BY CX CY表示长方形飞船顺时针给出的左上角、右上角、右下角坐标;

VX VY表示飞船的速度矢量;

OX OY表示那颗小行星的圆心坐标;

R表示小行星的半径;

VOX VOY表示小行星的速度矢量;

输入以文件结束符EOF结束。

Output

对于每组测试数据,输出飞船是否会与小行星相撞。

如果飞船不会与小行星相撞,输出NO,否则输出YES。

浮点数精确到1e-8。

Sample Input

0 1 1 1 1 0 1 0 3 0 1 -1 0

0 1 1 1 1 0 1 0 3 0 1 2 0

Sample Output

YES

NO

[提示:本题属于标准数学题解法,需要建立好合适的模型]

Probl em H 技术员BangFu

Description

BangFu是通讯公司的技术员。某个星期一刚去上班,BOSS就给了他一个任务,去非洲检查通讯设备!这让他感觉非常不爽,他非常讨厌这项工作。更让他感觉不爽的是去的路费还得自己掏!但是最最最让他感觉不爽的是,如果完成任务后在工作日回来,万恶的BOSS肯定还会给他新的任务!连休息的机会都没有!这实在是太糟糕了。

BangFu多么希望完成任务后能在周六或者周末回来。如果在这个基础上能够省点路费,那就更好了。作为BangFu的好朋友,你必须帮助他。

假设BangFu一共要去N-1个地方检查设备,分别编号为1 到N-1。起始地点在公司,编号为0,完成检查后他要返回公司。BangFu在每个地方要花1天时间检查,他不会去已经检查过的地方,检查完所有设备前也不会返回公司。而且他不愿意把时间浪费在非洲,就是说完成检查他立马会去另外一个地方。现在告诉你这N个地点之间路线情况,帮他选择一条最佳路线吧。

Input

有多组测试数据,每组数据第一行为两个整数N和M。

N表示一共有N个地点,M表示这N的地点之间有M条路线。

接下来有M行,每行4个整数x、y、p、t。

表示从x到y有一条路线,走这条路线要花p块钱和t天时间。

所有路线都是单向的,两个地方可能有多条路线。(1

Output

每组数据输出占一行。

如果BangFu不能完成任务,输出”It’s not my thing!”;

如果BangFu可以完成任务,但是不能周六或者周日回来,输出”Oh, My god!”;

如果BangFu可以完成任务,并且能够周六或者周日回来,输出他最少要花销的车费。

Sample Input

2 2

0 1 1 3

1 0 1 1

2 2

0 1 1 2

1 0 1 1

3 4

0 1 2 3

1 0 1 4

0 2 2 5

2 0 1 7

Sample Output

2

Oh, My god!

It's not my thing!

Hint

第一组数据中,BangFu去地点1检查设备。去的路上花了3天,维修花了1天,回来路上花了1天,一共花了5天。去的时候是星期一,所以正好星期六回来。

Probl em I 百头百脚

Time Limit: 1000 MS Memory Limit: 65536 KB

Total Submissions: 7 Accepted: 5

Description

兔子野鸡九头鸟,百头百脚朝下跑。这个是著名的百头百脚问题。

这里有一个类似的问题,假设一只兔子有一个头四只脚,一只鸡有一个头两只脚。现在告诉你一共有n个头m只脚。你能用程序计算出一共有多少只兔子,多少只鸡吗?

Input

有多组测试数据,输入两个整数n和m,表示有n个头m只脚。

数据保证有解。输入以文件结束。

Output

每组数据输出占一行,输出有多少只兔子多少只鸡,中间用一个空格分开。

Sample Input

3 8

Sample Output

1 2

转载说明:本资源来源于[异域世界网https://www.sodocs.net/doc/f74631446.html,]

若需转载,请保留资源的相关链接及信息,相关内容如下:

Probl em J 画菱形

Description

在屏幕上按指定大小输出一个菱形。

菱形的宽度由用户输入,边由字符’*’组成,其余部分用空格填充。

注意,在每一行末尾不要加入多余的空格。具体画法参见例样。

Input

有多组测试数据,每组数据输入一个奇数n(3<=n<=79),表示菱形宽度,输入以文件结束。

Output

按照给定大小输出菱形,每组数据后面空一行。

Sample Input

3

5

Sample Output

*

* *

*

*

* *

* *

* *

*

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

程序设计比赛试题

程序设计比赛试题 最少钱币数: 【问题描述】 这是一个古老而又经典的问题。用给定的几种钱币凑成某个钱数,一般而言有多种方式。例如:给定了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

程序设计竞赛试题和题解

程序设计竞赛试题和题解 付浩fuch@https://www.sodocs.net/doc/f74631446.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

中国海洋大学Fortran程序考试典型题

1、找出100-150之间和400-450之间能被9整除的数 2、找出100-999之间的回文数 3、找出水仙花数

4、输出“*”图形 5、输入n个数,找出大于平均值的数和最小数

6、把一个数值型数组的相同数删除到只剩一个 7、形成一个5*5矩阵,对角线元素为“i”,其余为“j”program juzhen implicit none integer I,J integer,parameter::size=5 integer::a(size,size) forall(I=1:size,J=1:size,I>J) a(I,J)=j forall(I=1:size,J=1:size,I==J) a(I,J)=i forall(I=1:size,J=1:size,I

integer,allocatable::c(:) write(*,*) "输入数组A的数据个数" read(*,*) n write(*,*) "输入数组B的数据个数" read(*,*) m l=m+n allocate (a(n)) allocate (b(m)) allocate (c(l)) write(*,*) "从小到大输入A的元素" do i=1,n read(*,*) a(i) end do write(*,*) "从小到大输入B的元素" do i=1,m read(*,*) b(i) end do do i=1,n c(i)=a(i) end do i=1 do while(i=c(n))then n=n+1 c(n)=b(i) goto 10 else if(b(i)>c(j).and.b(i)

首届全国中医药院校大学生程序设计竞赛试题

Problem A: 序列的混乱程度 Time limit:1s Memory limit:128MB Description 有一个长度为n的正整数序列,一个序列的混乱程度定义为这个序列的最大值和最小值之差。请编写一个程序,计算一个序列的混乱程度。 Input 输入的第一行为一个正整数T(T<=1000),表示一共有T组测试数据。 每组测试数据的第一行为一个正整数n(1<=n<=1000),代表这个序列的长度。第二行为n 个正整数,代表这个序列。序列中元素的大小不会超过1000。 Output 对于每个测试数据,输出一行包含一个正整数,代表对应序列的混乱程度。 Sample Input 2 5 1 2 3 4 5 5 1 9 2 4 8 Sample Output 4 8

Problem B: 随机数 Time limit:1s Memory limit:128MB Description 有一个rand(n)的函数,它的作用是产生一个在[0,n)的随机整数。现在有另外一个函数,它的代码如下: int random(int n,int m) { return rand(n)+m; } 显而易见的是函数random(n,m)可以产生任意范围的随机数。现在问题来了,如果我想要产生范围在[a,b)内的一个随机数,那么对应的n,m分别为多少? Input 输入的第一行为一个正整数T(T<=1000),表示一共有T组测试数据。 对于每组测试数据包含两个整数a,b(a<=b)。 Output 对于每组测试数据,输出一行包含两个整数n和m,两个整数中间有一个空格分隔。 Sample Input 2 0 5 1 4 Sample Output 5 0 3 1

FORTRAN程序设计复习题及答案

FORTRAN程序设计复习题 一、选择题 B (1)下列各FORTRAN表达式中合法的是 A) S+T*2P >= B) .NOT. (A*B+C) C) A2+B2/(C+D) <= D) (A+B).NOT.A*B.GT.(.NOT.只跟一个表达式) C (2)数学式(3/5)ex+y的FORTRAN表达式是 A) 3*EXP(X+Y)/5 B) 3*E* *(X+Y)/ C) (3/5)*EXP(X+Y)D) EXP(X+Y) D (3)下列FORTRAN77表达式中不合法的是 A) A.GT.B.EQV.C.GT.D B) A.AND.B.AND.C.AND.D C) .NOT.(X.LE.D) A.LT.B.LT.C.LT.D D(4)下列叙述中不正确的是 A) FORTRAN子程序可以单独编译 B) 对一个FORTRAN源程序进行编译和连接无误后可生成可执行文件 C) 即使编译和连接都正确无误,FORTRAN程序运行时仍可能出错 D) FORTRAN连接的主要任务是把函数库中的函数翻译成机器指令(正确描述:主要任务为连接目标文件) B (5)在下列FORTRAN77运算符中,优先级最高的是 A) .AND. B) .NOT. C) .OR. D) .EQ. B (6)FORTRAN表达式"6/5+9/2**3/2"的值为 A) 33 B) 1 C) 5 D) 3 A (7)下列FORTRAN77表达式中,合法的是: A) .AND.. B) 10.0 C) D) 提示:A)相当于 .AND.(.NOT.()) D (8)关于编译一个FORTRAN源程序文件,下列说法中错误的是 A) 允许编译只有一个主程序而没有子程序的源文件 B) 允许编译有多个子程序的源文件 C) 允许编译只有一个子程序而没有主程序的源文件 D) 允许编译有多个主程序的源文件 C (9)在FORTRAN77源程序中,续行标志符必须放在 A) 第1列 B) 第1-6列C) 第6列D) 第5列 D (10)下列关于"SUBROUTIN E MAP(X,Y)"语句行的叙述中,不正确的是 A) 这是子程序的第一个语句 B) 字符串"MAP"是子程序名 C) 变量X是子程序的形参D) 子程序执行后,MAP将返回整型数据 提示:子程序无返回值,自定义函数才有) A (11)FORTRAN表达式"2/4+"的值是 A) B) 1 C) D) 0 提示:2/4默认等于整型,=》 D (12)FORTRAN表达式"MOD,"的值是 A) B)0.0 C) D) A (13下列FORTRAN运算符中,优先级最低的是 A)逻辑运算符.AND. B)算术运算符*

第六届程序设计比赛题目与答案

一、鸡兔同笼 问题描述 一个笼子里面关了鸡和兔子(鸡有2只脚,兔子有4只脚,没有例外)。已经知道了笼子里面脚的总数a,问笼子里面至少有多少只动物,至多有多少只动物 输入数据 第1行是测试数据的组数n,后面跟着n行输入。每组测试数据占1行,包括一个正整数a (a < 32768)。 输出要求 n行,每行输出对应一个输入。输出是两个正整数,第一个是最少的动物数,第二个是最多的动物数,两个正整数用空格分开。如果没有满足要求的情况出现,则输出2个0。 输入样例 2 3 20 输出样例 0 0 5 10 解题思路 这个问题可以描述成任给一个整数N,如果N是奇数,输出0 0,否则如果N是4的倍数,输出N / 4 N / 2,如果N不是4的倍数,输出N/4+1 N/2。这是一个一般的计算题,只要实现相应的判断和输出代码就可以了。题目中说明了输入整数在一个比较小的范围内,所以只需要考虑整数运算就可以了。 参考程序 1.#include 2.void main( ) 3.{ 4.int nCases, i, nFeet; //nCases 表示输入测试数据的组数,nFeet表示输入的脚数。 5.scanf("%d", &nCases); 6.for(i = 0; i < nCases; i++){ 7.scanf("%d", &nFeet); 8.if(nFeet %2 != 0) // 如果有奇数只脚,则输入不正确, 9.// 因为不论2只还是4只,都是偶数 10.printf("0 0\n"); 11.else if (nFeet%4 != 0) //若要动物数目最少,使动物尽量有4只脚 12.//若要动物数目最多,使动物尽量有2只脚 13.printf("%d %d\n", nFeet / 4 + 1, nFeet / 2); 14.else printf("%d %d\n", nFeet / 4, nFeet / 2); 15.} 16.}

宁波市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

2019年大学生程序设计大赛策划书

2019年大学生程序设计大赛策划书 一、活动名主题 “华为”杯程序设计大赛 二、举办单位 策划主办单位:华为技术有限公司 协办单位:(排名不分先后)华中科技大学、武汉大学、武汉理工大学 三、活动时间 20xx年x月x日-x月xx日 四、参赛资格 ●本次大赛面向武汉三所目标高校在校全日制本科及以上学历学生(毕业时间在20xx年x月xx日之后)。 ●初赛以个人为单位,性别、专业不限;预计800人;

●在华为官方的网站注册报名,报名成功后获得参赛资格,只有在报名期间进行网上注册后才能参与比赛。 五、竞赛流程 第一阶段:报名参赛(5月10日—5月24日) l参赛选手阅读参赛注意事项,确认协议内容,在华为官方的 网站上注册简历,获得参赛资格的选手以个人身份参赛。 第二阶段:初赛(6月1日8:00—6月1日12:00) l网吧集中测试(集中招聘机试流程) 1.5月30日18:00前,通过邮件、短信和电话的形式通知通过简历筛选的学生初赛场地、机试场次、时间、所需证件及注意事项; 2.1日当天,学生凭身份证刷卡签到,并获取自己的登录账号 与密码。

3.学生按安排的批次进行入座考试,机试全程为30分钟,逾时将视为不及格。全程考试属封闭式测试,不得翻阅网页及手机,完全独立完成整个测试过程。一旦发现翻阅行为,一律视为作弊,将会被取消参赛资格。 4.考试成绩按照答案正确率与用时两个维度进行评价,在追求准确的同时对学生们的编程效率也作出了要求。 第三阶段:软件训练营(6月2日9:00—6月2日16:00) l1日晚将通过邮件、短信与电话的形式,邀请通过初赛的18 位学生参加为期6个小时的软件训练营-敏捷开发的训练课程,本课程主要是针对学生编程思维进行的引导式更新,课程内容比较灵活多变,动手环节较多,较有吸引力。 l中午学生将统一在华为A2食堂进行就餐。 l完成培训的学生将会收到华为武研所办法的“敏捷技能拥有者”的荣誉证书和决赛工具包(题目+小贴士+输出文件)。 l培训后,同学将会自主组成6个三人组进行接下来的决赛。每两个三人组将会由一位导师(业务部门提供的业务骨干)进行指导,

FORTRAN 90 程序编程规范

FORTRAN 90 程序编程规范 Fortran 90 编程规范,使程序代码高度组织化,更加易读、易懂、易于维护,程序更加高效。使编出的程序更易懂、易于维护。 1 语言选择 数值预报创新系统软件开发应避免使用Fortran77 的某些过时特征以Fortran 90不一致的特征。选择Fortran 90 作为开发语言,并采用Fortran 90 的新功能,如动态内存的分配(dynamic memory allocation)、递归(recursion ), 模块(modules)、POINTER 、长变量名、自由格式等。 Fortran 77其中某些只是一些冗余的功能,这些功能已经过时,另外,还有一些在Fortran90 中被证明是不好的用法,建议不要使用。 2 Fortran 90 的新特性 2.1.1 建议使用的Fortran 90 新特性 建议使用Fortran 90 提供的模块(module ),并用Use ONLY 指定module 中哪些变量或派生类型定义可用于调用程序。 尽量使用数组下标三元组,这样可优化并减少所需的代码行数。为提高可读性,要在括号内表明数组的维数,例如: 1dArrayA(:) = 1dArrayB(:) + 1dArrayC(:) 2dArray(: , :) = scalar * Another2dArray(: , :) 当访问数组的子集时,例如在有限差分等式中,可以通过使用下标三元组实现。例如:2dArray(: , 2:len2) = scalar *( & Another2dArray(:, 1:len2 -1) & - Another2dArray(:, 2:len2) & ) 对程序单元(program units )命名,并使用End program ,End subroutine ,End interface ,End module 等结构再次指定“program unit ”的名称。 在逻辑表达式中使用>、 >=、 ==、 <、 <=、 /=,它们分别代 替.gt.、.ge.、.eq.、.lt.、.le.、.ne. 。新的表示方法更接近标准的数学符号 在变量定义中始终使用“::”;始终用“DIMENSION ”定义数组形状;始终用(len=)的语法格式声明字符变量的长度。

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

小学生程序设计比赛练习题 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

fortran程序实例

1)实例3—求多个半径下的圆周长 ! z3.f90 --Fortran95 ! FUNCTIONS: ! z3 - Entry point of console application. !************************************************************************* ! PROGRAM: z3 ! PURPOSE: Entry point for the console application. !************************************************************************ program z3 ! 求多个半径下的圆周长 ! 主程序 ! PROGRAM Z3 PRINT *, 'R=',1.2,'C=',C(1.2) PRINT *, 'R=',3.4,'C=',C(3.4) PRINT *, 'R=',15.6,'C=',C(15.6) PRINT *, 'R=',567.3,'C=',C(567.3) END program z3 !子程序 FUNCTION C(R) PI=3.1415926 C=2*PI*R RETURN ! Body of z3 end

2)实例4—键盘与显示器输入/输出 a)Fortran 基本操作 b)程序指令 ! ZXZ_I_O.f90 ! FUNCTIONS: ! ZXZ_I_O - Entry point of console application. ! PROGRAM: ZXZ_I_O ! PURPOSE: Entry point for the console application. !***************输入、输出样式种种************************** program ZXZ_I_O implicit none !变量声明的位置 INTEGER(2) i; INTEGER(4) j; INTEGER(4) m; REAL n INTEGER A,B ! Variables PRINT*,'输入整数A'; READ*, A PRINT*,'输入整数B'; READ*, B B=A+B PRINT*,'B=A+B=',B WRITE(*,*) 'A*B=',A*B PRINT* ,'以上为计算机的计算结果,注意B的值'

程序设计大赛试题及答案

试题 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

第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个不同的数(以逗号分隔)。

安徽省大学生程序设计大赛

安徽省大学生程序设计大赛 竞 赛 方 案 全国大学生信息安全竞赛安徽省赛区组委会安徽省大学生程序设计大赛技术委员会

一.竞赛章程 ●竞赛宗旨 为培养安徽省高校大学生的创新意识和创新能力,提高大学生应用计算机分析和解决实际问题的能力,安徽省教育厅主办了安徽省大学生程序设计大赛,赛事旨在为广大学生的一个展示和提高解题与编程能力的机会,开展计算机编程方面的公平竞赛。 ●竞赛设置 安徽省大学生程序设计大赛计划开展本科组、高职组两个级别竞赛。参赛以学校为单位,组委会为每个单位提供3支队(含)以内参赛名额,参赛单位3支队(不含)以上参赛名额由参赛单位向组委会提出申请,报名截止后组委会根据报名情况统一裁定。组委会根据参赛情况适量接受少量友情参赛队,队名附“*”以示区别,不参加评奖。 安徽省大学生程序设计大赛由大赛技术委员会负责命题、评判,采用统一命题,本科组、高职高专组分组设奖方式进行,奖项设置以各组别参赛队伍为基数,按参赛队成绩排序,分别设置一等奖(不超过基数10%)、二等奖(不超过基数20%)、三等奖(不超过基数30%)和优胜奖。 ●参赛队伍组成 比赛以队为参赛基础,队的组成包括教练1~2名(必须是参赛学校的教师),以及不超过3名参赛队员。每个参赛学校可以派多支代表队,每个参赛学校可有一名领队(可选),至少一名教练(必需,可兼任同一学校多支队伍教练)以及若干参赛队员组成。 教练是参赛队伍所代表学校的正式教师,教练必须保证所有队员符合本规则的规定。教练作为参赛队伍的代表,负责赛区预赛活动中的联系工作。 参赛队伍必须向竞赛组织委员会提交领队、教练和队员的身份合格证明材料,经竞赛组织委员会审查通过后,一支队伍才能获得参赛资格。 领队、教练和队员的身份合格证明材料:由各高校教务部门一次性出具所在

fortran程序30个

程序1 PROGRAM chaper1272 INTEGER :: A(10)=(/5,7,4,8,12,2,10,3,9,11/) INTEGER :: sum=0,ave !打开一数据文件,设置一个有格式直接存取文件,将10个数分2个记录写入文件。 !数据文件生成2个记录,每个记录行长度相同,记录长度为25 OPEN(1,FILE='input21.dat',FORM='FORMATTED',ACCESS='D IRECT',RECL=25) WRITE(1,"(5I5)",REC=1)(A(I)+10,I=1,5) !按格式说明将头5个数写入第1个记录 WRITE(1,"(5I5)",REC=2)(A(I)+10,I=6,10)!按格式说明将后5个数写入第2个记录 READ(1,"(5I5)",REC=2)(A(I),I=6,10) !按格式说明从第2个记录中读取后5个数 READ(1,"(5I5)",REC=1)(A(I),I=1,5) !按格式说明从第1个记录中读取头5个数 DO I=1,10 sum=sum+A(I) ENDDO ave=sum/10 !打开一个最大记录长度为22的有格式顺序存取文件

OPEN(2,FILE='input22.dat',FORM='FORMATTED',ACCESS='D IRECT',RECL=22) WRITE(2,"('10个数之和为:',I5)",REC=1) sum !输出1记录行,记录长度为22 WRITE(2,"('10个数平均值为:',I5)",REC=2)ave !输出1记录行,记录长度为22 WRITE(2,"(A)",REC=3) '程序运行正常结束。' !输出一个记录行,记录长度为22 END 程序2 PROGRAM average REAL sum,ave INTEGER n OPEN(1,file='score.dat') PRINT*,'正在统计平均成绩,请等待。' sum=0.0;n=0 DO READ(1,*,END=100) S sum=sum+s n=n+1 ENDDO 100 ave=sum/n

程序设计比赛小学组试题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位)。 【输入输出样例】 【数据范围限制】

大学生计算机编程大赛活动策划书

大学生计算机编程大赛活动策划书 为推进学院素养教育,提高大学生的科学素质,拓展我院学生的综合素养,丰富大学生的校园文化日子,营造浓郁的学术、科技氛围,进一步培养学生的创新意识、创新精神和创新能力。软件协会开展以勤奋学习,创新实践为主题的大学生计算机编程大赛。要紧内容如下: 一、大赛宗旨 旨在培养和激励高校学生的制造力、团队合作精神以及在软件开辟过程中的创新能力。并且此次大赛将视为对明年的省高校杯的一次演练,提高广阔学生开展计算机软件设计的兴趣和能力,,给广阔在计算机程序设计方面有特长的同学提供展示才干的舞台。经过参赛,检验学生在压力下进行开辟的能力,展示其创新能力,为加强校内同学间的交流和相互学习提供机会。 二、参赛对象参赛者均为广东科贸职业学院信息工程系在校学生。 三、参赛形式和报名办法 1.本次比赛采取团队报名的形式 2、参赛团队填写报名表(报名电子表发送到信工系各班团支书)。 3、由各班团支书负责统一收集参赛团队报名表,并在规定的报名时刻内将本班参赛者报名表交到负责人处,逾期别收。 其他详细信息可留意软件协会官方博客: 四、竞赛方式及要求1、本次比赛的内容是依照拟定项目或者依照现实需要自行设计一具项目参与本次大赛项目评比。 2、竞赛时刻为三个星期,参赛团队须在规定时刻内完成。 3、竞赛期间选手能够翻阅相关的工具书。 4、参赛者应尊重自己的劳动成果,严禁将自己的作品拿给他人抄袭,严禁抄袭他人的作品。(违反此条例者,将追究其相关责任) 5、竞赛期间别局限于参赛者使用何种技术体系,别局限于使用何种开辟工具及操作系统。 项目评比参考: •项目的稳定性、项目的有用性 •项目使用的技术框架及开辟平台 •项目代码编写的标准及是否强壮 结果评定:竞赛排名依照项目评比的成绩的总和得出。 五、活动时刻安排 3、项目评比:12月下旬 (注:以上时刻和地方安排可依照实际事情另行更改) 六、奖项设置一等奖(1名):500元、荣誉证书 二等奖(1名):300元、荣誉证书 优胜奖(若干):大赛精美纪念品注:本次比赛奖项设置为证书和物质奖励 1、本次比赛安排如有变动,另行通知。 2、本次大赛未尽事项的解释权归属广东科贸职业学院软件协会。

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.

相关主题