Advertisement

2016合肥市第 33 届青少年信息学(计算机)奥林匹克竞 赛小学组试题

阅读量:

木板面积
卡卡西帮助测量工人们解决了测量圆形和长方形木板面积的问题。输入包括木板形状(圆形或长方形)及具体尺寸数据;输出为圆形结果精确到小数点后两位或长方形结果为整数值。
出现次数最多的数
农民伯伯希望找出西瓜重量中出现次数最多的数值。若存在多个相同次数的最大值,则选择最小的那个数值作为结果。
乘船过河
通过合理安排船只载客方式,在保证每条船不超过最大承载量的前提下,最小化所需船只数量以降低运输费用。
能量最大化
通过寻找最优的珠子聚合顺序,在项链上所有珠子最终合并成一颗的情况下释放出最大的总能量。

1 .木板面积(

area

在一个阳光明媚的清晨,卡卡西在老师的带领下来到了“神奇木材加工厂”。

这种木材加工厂具有独特性,在生产过程中,工人们都专注于制作圆形和长方形样式的木板,并对工厂进行尺寸测量。

每位工人每日须对每块成品木板进行面积测量,以此来计算木材使用总量。若该区域为圆形结构,则需采用πr²的计算方法来确定所需木材数量。

形如圆木板的情况下,则只需进行半径长度的测量;若为矩形木板,则仅需对两条边进行测量

边长的具体数值。对于所有的工人师傅来说,在实际操作中测量是一个非常简单的任务。然而要准确地计算出这块木板的面积却并非易事。

一项单调且耗时的工作让测量工们眉头紧锁。这导致卡卡西倍感焦虑的原因是由于这项工作让他的脑力劳动者感到疲惫。

爱的小朋友们,你们能帮助卡卡西,为测量工人们解决这个问题吗?

输入:输入数据有两行。第一行一个正整数 m ,表示测量的木板形状(

1 表示圆

形, 2 表示长方形);第二行有若干个整数,如果 m=1 ,第二行给出圆形

的半径 a (规定圆周率取 3.14 );如果 m=2 ,第二行给出长方形长和宽 a ,

b (中间用空格隔开)。

输出:木板面积。(若是圆形,最后输出结果精确到小数点后 2 位;若是长方形

则输出结果为整数)

样例 1 :

输入:(

area.in

1

3

输出:(

area.out )

28.26 青少年信息学奥林匹克竞赛

小学组试题

合肥家长帮社区

2017 合肥小升初交流群 413414968

样例 2 :

输入:(

area.in

2

3 4

输出:(

area.out )

12

数据范围 :

0 ≤木板边长或半径≤ 100

2 、出现次数最多的数 (weight)

智慧的卡卡西带领工人们克服了工作上的难题,工人们深感感激地引领他们

在附近的一片西瓜地里,请他们品尝西瓜。恰好看见农户正在为每一个西瓜测量重量。

改写说明

多。卡卡西眼前一亮,大声的说:“伯伯,让我来帮你完成吧!”

输入数据分为两部分进行处理。第一部分为单一的正整数n(n),该数值代表西瓜的数量;第二部分包含若干个实数(x_1, x_2, \dots, x_k),它们作为相关参数用于后续计算。

n 个整数 s1, s2, … , sn ,表示每个西瓜的重量,相邻的数用空格分隔。

计算结果为给定的n个重量值中出现频率最高的那个数值。如果存在多个具有最高频率的数值,则选择其中数值大小最小的一个

一个。

样例 1 :

输入:( weight.in

6

10 1 10 20 30 20

输出:( weight.out )

10

数据范围 :

3 ≤ n ≤ 1000 , 1 ≤ si ≤ 10000

3 、乘船过河 (ship)

卡卡西和小朋友们决定划船渡河,在港口预订了多艘游轮,并且彼此之间没有间隔。

主要区别在于租金在各条船上保持一致的同时每位乘客所享有的空间资源却存在明显差异

我们的目标是确定能够安置所有参赛者的最小船只数量。所有乘客的总重量不得超过该船的最大承载能力。

小学组试题

合肥家长帮社区

2017 合肥小升初交流群 413414968

为了将总租金费用最小化, 卡卡西迅速地编写了一个程序, 并成功读取并处理了乘客数量和客流量数据。

数目和每位旅客的重量,计算出要安置所有同学必须的最少的船的数目。

输入:输入数据有两行。第一行两个整数 w 和 n ,用空格分隔,分别表示一条船

的最大承载量和人数;第二行中每个数据是每个人的重量,也是整数,数

据间用空格分隔。

输出:最少船数。

样例 1 :

输入:(

ship.in

85 6

5 84 85 80 84 83

输出:(

ship.out )

5

样例 2 :

输入:(

ship.in

100 5

50 50 90 40 60

输出:(

ship.out )

3

数据范围 :

3 ≤ w ≤ 200

3 ≤ n ≤ 300 每位乘客的重量都不大于船的承载量。

4 、能量最大化 (energy)

卡卡西手上有一串能量项链。在项链上有 N 颗能量珠。能量珠是一颗有头

标记与尾标记的珠子被表示为某些正整数,并且任意相邻的两颗珠子之间存在某种特定的关系

相邻的一颗珠子的末端特征码必须满足与后一粒珠子的首部标识符相等的要求。只有当它们满足特定条件时才能实现连接作用。

该过程使得两颗珠子能够聚合成一个完整的颗粒,并在合并过程中释放出可被吸盘所吸收的能量。

果前一颗能量珠的头标记为 m ,其尾部标志设为 r ;随后的一颗能源球体(即后续的一颗)则具有相同的头部标识 r ,其尾部分未做特别标注

记为 n ,则聚合后释放的能量为 mrn ,新产生的珠子的头标记为 m ,尾标记为

n个连续排列的两个相邻珠子可以通过聚合释放出能量,并持续这一过程直至项链上仅剩余一个珠子。

然,则不同排列组合方式所得出的总能量各有差异,请你规划一种排列组合策略使其适用于一系列项目

链释放出的总能量最大。

例如:设 N=4 , 4 颗珠子的头标记与尾标记依次为 (2 , 3) (3 , 5) (5 , 10) (10 , 2) 。

我们用记号⊕表示两颗珠子的聚合操作, (j ⊕ k) 表示第 j , k 两颗珠子聚合后所释

放的能量。 青少年信息学奥林匹克竞赛

小学组试题

合肥家长帮社区

2017 合肥小升初交流群 413414968

则第 1 、 2 两颗珠子聚合后释放的能量为: (1 ⊕ 2)=235=30 ,新产生的珠子头

标记与尾标记(

2, 5 )

第 4 、 1 两颗珠子聚合后释放的能量为: (4 ⊕ 1)=1023=60 。新产生的珠子头

标记与尾标记(

10, 3 )

这一串项链可以得到最优值的一个聚合顺序所释放的总能量为

((4 ⊕ 1) ⊕ 2) ⊕ 3 ) =1023+1035+10510=710 。

输入: 输入共两行,第一行是一个正整数 N ,表示项链上珠子的个数。第二行

是 N 个用空格隔开的正整数。第 i 个数为第 i 颗珠子的头标记(

1≤i≤N ),当 i<N

当处理到第 i 颗珠子的时候(即在此时刻点上),该颗珠子(i)的尾标记应等于其下一个相邻节点(即第 i+1 颗珠子)对应的头标记;同时在最后一个节点(即第 N 颗珠子)处,则该节点对应的尾标记应当满足特定条件(如闭合环状结构)。

应该等于第 1 颗珠子的头标记。

至于珠子的顺序,你可以这样确定:将项链放到桌面上,不要出现交叉,随

意指定第一颗珠子,然后按顺时针方向确定其他珠子的顺序。

输出:只有一个正整数,为聚合成一个珠子时所释放的最大总能量。

样例 1 :

输入:(

energy.in

4

2 3 5 10

输出:(

energy .out )

710

数据范围 :

4 ≤ N ≤ 100

1 ≤每个珠子的头尾标记≤ 500

[云服务器ECS新春特惠

该平台推出【云计算平台

全部评论 (0)

还没有任何评论哟~