这是一道2012年东莞市程序设计竞赛镇区选拔赛的上机试题小学组,我现已上市级比赛,请大家帮忙。

这是一道2012年东莞市程序设计竞赛镇区选拔赛的上机试题小学组,我现已上市级比赛,请大家帮忙。,第1张

var a,k:array[0..1000000]of longint

b,c,d,e,f,g,h,i,j,l,n,m,mid:longint

begin

assign(input,'count.in')

assign(output,'count.out')

reset(input)

rewrite(output)

read(b,f)

e:=0

n:=0

l:=1

for c:=1 to b do

begin

read(d)

k[d]:=k[d]+1

end

while l<=b do

begin

for m:=1 to k[n] do

begin

a[l]:=n

l:=l+1

end

n:=n+1

end

e:=0

for c:=1 to b do

begin

i:=c+1

j:=b

while (j>=i) do

begin

mid:=(j+i) div 2

if a[mid]+a[c]>f then j:=mid-1 else i:=mid+1

end

e:=e+(j-c)

end

writeln(e)

close(input)

close(output)

end.

ACM-ICPC以团队的形式代表各学校参赛,每队由至多3名队员组成。每位队员必须是在校学生,有一定的年龄限制,并且每年最多可以参加2站区域选拔赛。

与其它计算机程序竞赛(例如国际信息学奥林匹克,IOI)相比,ACM-ICPC的特点在于其题量大,每队需要在5小时内完成7道或以上的题目。另外,一支队伍3名队员却只有1台电脑,使得时间显得更为紧张。因此除了扎实的专业水平,良好的团队协作和心理素质同样是获胜的关键。

考试内容

竞赛进行5个小时,一般有7道或以上试题,由同队的三名选手使用同一台计算机协作完成。当解决了一道试题之后,将其提交给评委,由评委判断其是否正确。若提交的程序运行不正确,则该程序将被退回给参赛队,参赛队可以进行修改后再一次提交该问题。

考试流程

竞赛规定每支参赛队伍至多由三名在校大学生组成,他们需要在规定的五个小时内解决八个或更多的复杂实际编程问题。

每队使用一台电脑,参赛者争分夺秒,与其他参赛队伍拼比逻辑、策略和心理素质。赛事由各大洲区域预赛和全球总决赛两个阶段组成。

决赛安排在每年的3-5月举行,而区域预赛一般安排在上一年的9-12月举行。

原则上一个大学在一站区域预赛最多可以有3支队伍,但只能有一支队伍参加全球总决赛

程序判定结果有如下7种:

中国选手赛照

中国选手赛照 [3]

1、Accepted. ——通过!(AC)

2、Wrong Answer.——答案错。(WA)

3、Runtime Error.——程序运行出错,意外终止等。(RE)

4、Time Limit Exceeded. ——超时。程序没在规定时间内出答案。(TLE)

5、Presentation Error. ——格式错。程序没按规定的格式输出答案。(PE)

6、Memory Limit Exceeded. ——超内存。程序没在规定空间内出答案。(MLE)

7、Compile Error. ——编译错。程序编译不过。(CE)

奖项级别

区域赛一般分别按10%,20%,30%的比例颁发金,银,铜奖,即一般情况(120队伍)有12支队伍获金牌,24支队伍获银牌,36支队伍获铜牌,其余为优胜奖。

2010年亚洲区域赛中国大陆5大赛区由阿里巴巴公司赞助,获得金牌的选手可以享受绿色通道,进入阿里巴巴实习或参加工作。

2012年亚洲区域赛中国大陆5大赛区由华为公司赞助,有奖金(冠5000、亚3000、季2000,非冠亚季的金牌1200,FB(First Blood,指全场第一个解答出某道题) 800,最佳女队800,顽强拼搏500)。顽强拼搏是全场最后一个AC,且只AC1道题的队伍。

总决赛前十名的队伍将得到高额奖学金:

第一名奖金为12000美元

第二名奖金为6000美元

第三名奖金为3000美元

第四名至第十名将各得到1500美元

除此之外还将承认北美冠军、欧洲冠军、南太平洋冠军及亚洲冠军。

参赛地点

每年不一样,看哪儿承办

竞赛报名资格

大学生

报名时间

比赛前7天截止

竞赛如何报名

通过注册商报名

老师带队

2008 年慈溪市小学生计算机程序设计比赛

复赛试题

比赛时间:2008 年 12 月 21 日上午 8:30—10:30

题目概览

中文题目名称 提交源程序文件名 提交可执行文件名 输入文件名 输出文件名 每个测试点时限 测试点数目 每个测试点分值 运行内存上限 时限 促销收费 money.pas money.exe money.in money.out 1秒 10 10 50M 1秒 统计人数 count.pas count.exe count.in count.out 1秒 10 10 50M 1秒 队形变换 formation.pas formation.exe formation.in formation.out 1秒 10 10 50M 1秒 工作分配 job.pas job.exe job.in job.out 1秒 10 10 50M 1秒

注意事项

1. 每位选手都应先在 D 盘根目录下建立自己的答卷文件夹,该文件夹的名称为自己的考 号; 2. 选手最终所提交的所有文件都必须存放在自己的考生文件夹中, 凡错放及以书面形式提 交的答卷一律视作无效; 3. 每题提交的解答都必须包括以下二个文件,即源程序文件和经编译后生成的可执行文 件,其名称必须与各题中所规定的相一致; 4. 程序中必须采用文件读写的方法来实现数据的输入和结果的输出, 即程序运行时所需输 入数据应从题中指定的输入文件中读取(而不得采用键盘输入的方式) ,程序运行的结果应 写入到题中指定的文件中(而不是输出到屏幕上) 。 5. 用于提供输入数据和记录输出结果的文件的名称都已在题中具体规定, 选手程序在调用 它们时不得为其指定任何特别的路径。 6. 复赛用机房电脑 C 盘均已设置成开机还原保护,选手切勿把程序存放在 C 盘中,否则 如果重新开机后程序将不复存在。 7. 比赛结束后请不要关机。

©慈溪市教育局教研室

慈溪市青少年科技辅导员协会

第 1 页,共 4 页

1. 促销收费

(money.pas/exe)

【问题描述】 元旦快到了,各个商场都开始策划大规模的促销活动。慈溪国际购物中心计划推出“满 300 减 120、满 500 减 240”的活动,也就是顾客购买物品的总金额中每 300 元可以优惠 120 元,每 500 元优惠 240 元,上不封顶。为此,商场收费系统需要进行升级。请你帮助慈溪国 际购物中心设计其中的一段程序, 输入顾客购买物品的总金额后, 即输出优惠后的付款总数。 注意,一定要按最优惠的方法计算哦! 【输入】 输入文件 money.in 只有一行,是顾客购买各种物品的总金额 N。 保证为整数,且 N (N ≤2000000000) 【输出】 输出文件 money.out 只有一行,即优惠后的付款额。

【输入输出样例】

money.in 310 money.out 190

2. 统计人数 统计人数

(count.pas/exe)

【问题描述】 数学竞赛结束后,各个班主任老师都很迫切地想知道自己班级在全年段前 N 名的人数。 于是,教务主任就请来信息学兴趣小组的同学来帮忙,要求编写一程序,只要告诉计算机要 查的班级 K 班和名次前 N 名,然后再输入 M 个学生的成绩,计算机就统计出 K 班在年段 前 N 名中的人数。 (假设每个学生的总分各不相同) 【输入】 输入文件 count.in 共 M+1 行 第一行三个整数依次为 M,K,N,分别表示全年段共有 M 个学生,要统计的是 K 班 在全年段前 N 名的人数。 (M≤1000,K≤20,N≤M) 接下来 M 行是 M 个学生的班级和成绩,中间用一个空格隔开。 【输出】 输出文件 count.out 共一行,表示 K 班在年段前 N 名中的人数。

【输入输出样例】

count.in 725 2 65 3 90 9 100

©慈溪市教育局教研室

count.out 2

慈溪市青少年科技辅导员协会

第 2 页,共 4 页

8 64 2 66 2 80 4 84

3. 队形变换

(formation.pas/exe)

【问题描述】 团体 *** 表演中经常要变换队形。 2008 年慈溪市中小学生艺术节开幕式团体 *** 表演中, 在 导演确定了队形分为连续队形(代号 1)和梅花桩队形(代号 2) 两种队形,每种队形又分按 行排列(代号 1)和按列排列(代号 2)两种排列方式。为了使表演队员能够很快地知道自己 该站在哪一行哪一列,请你设计一个程序,输入表演的人数 N、队形代号 X、排列方式代号 Y、每行(或每列)的位置数 R 和表演队员的编号 M 后,输出该队员应该站在第几行第几 列。例如 16 人参加表演,各种排法举例如下: ① N=16,X=1,Y=1,R=6 1 7 13 ② N=16,X=1,Y=2,R=3 1 2 3 ③ N=16,X=2,Y=1,R=7 1 5 8 12 15 ④ N=16,X=2,Y=2,R=6 1 4 2 5 3 6 9 12 8 11 15 7 10 14 13 16 16 9 13 2 6 10 14 3 7 11 4 4 5 6 7 8 9 10 11 12 13 14 15 16 2 8 14 3 9 15 4 10 16 5 11 6 12

若输入 N=16,X=1,Y=2,R=3,M=12,则该队员应站在第 3 行第 4 列。

©慈溪市教育局教研室

慈溪市青少年科技辅导员协会

第 3 页,共 4 页

【输入】 输入文件 formation.in 只有一行,有 5 个用空格隔开的整数,为 N,X,Y,R,M,依 次分别表示参加表演的人数、队形代号、排列方式代号、每行(或每列)的位置数、某一表 演队员的编号。 (N≤10000) 。 【输出】 输出文件 formation.out 共一行,包含两个整数,用一个空格隔开,分别表示某一表演队 员 M 该站在第几行第几列。

【输入输出样例】

formation.in 16 1 2 3 12 formation.out 34

4. 工作分配

(job.pas/exe)

【问题描述】 在工厂里,如果每道工序让不同的工人来做,所要花费的时间往往不一样。精明的老板 为了提高效率,总是把生产某一产品所需要的 N 道工序进行最佳搭配,使生产某一产品所 花费的总时间最少。现在就给出 N 个工人分别做 N 道工序所要花费的时间,请你来计算一 下,如果 N 个工人每人做 N 道工序中其中的一道, 那么生产某一产品 (即完成所有 N 道工序) 所要花费的最少时间是多少。 【输入】 输入文件 job.in 的第 1 行有 1 个整数 N(1≤N≤20),表示有 N 个工人。接下来的 N 行, 每行 N 个数,表示该工人完成各道工序所要花费的时间。 【输出】 输出文件 job.out 共一行,即生产某一产品所要花费的最少时间。

【输入输出样例】

job.in 4 1324 3245 3412 4532 job.out 6


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/7787304.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-09
下一篇 2023-04-09

发表评论

登录后才能评论

评论列表(0条)

保存