2017绍兴市第十五届少儿信息学竞赛复赛试题

发布时间 : 星期三 文章2017绍兴市第十五届少儿信息学竞赛复赛试题更新完毕开始阅读

绍兴市第十五届少儿信息学竞赛复赛试题

(考试时间:150分钟)

一、题目一览

中文题目名称 英文题目名称 输入文件名 输出文件名 每个测试点时限 测试点数目 每个测试点分值 简单计算 js js.in js.out 1秒 10 10 步步夺金 sport sport.in sport.out 1秒 10 10 工资和税收 nba nba.in nba.out 1秒 10 10 沙盘游戏 ring ring.in ring.out 1秒 12 5或者10 二、比赛目录结构示例

选手比赛时,需在本机为每题建立对应的题目目录,目录名称与英文题目名称相同。选手根据题目要求,将自己提交的源程序,放在该题的题目目录下。

每位选手把自己提交的源程序连同要求的目录结构,存入D盘根目录中。(只递交源程序,测试时以源程序为准)

例如:假设试卷中有cashier、dune、manhattan三题,选手sx001使用Pascal答题,其最终提交的文件为cashier.pas、dune.pas、manhattan.pas,则该选手提交的目录结构如下所示:

|---sx001/

|---cashier/

|---cashier.pas |---dune/

|---dune.pas |---manhattan/

|---manhattan.pas

三、特别提醒

1、务必看清题目,严格按照试题所要求的格式输入、输出。

2、比赛开始前应先检查本机能否正常使用,如有问题可向监考老师提出。比赛结束后应及时离开机房,但注意不要关机。

1 / 9

1、简单计算(js.pas)

【问题描述】

计算机的基本功能是计算,作为一个计算机爱好者,Ivy当然知道如何编写一个计算机程序,让计算机能进行简单的计算。

之所以简单,因为Ivy的程序只需根据输入的两个正整数,根据要求计算这两个数的和或者差即可(所有输入数据确保x>=y)。 【输入】

输入共有三行。第一行包含一个正整数x,第二行包含一个正整数y,第三行包含一个算术运算符(加号或者减号)。 【输出】

只有一行,表示将输入的两个正整数根据运算符进行计算后所得结果(两数之和或者之差)。 【输入输出样例】 js.in 251 249 + 【数据范围】

对于60%的数据,1<=x,y<=16383; 对于80%的数据,1<=x,y<=1073741823;

对于90%的数据,1<=x,y<=4*10^19 (10^19表示19个10 相乘); 对于100%的数据,1<=x,y<=10^30。

2 / 9

js.out 500

2、步步夺金(sport.pas)

【问题描述】

Ivy所在的公司想推出一款手机APP“步步夺金”,该APP可以统计用户每天走路的步数,并给予相应的“金币”奖励。在用户的“金币”达到一定数量后,就可以在公司的网站上兑换一定的体育用品。

根据走路步数x奖励金币的规则如下:

1、每天的前1000步可领取0.3金币(若未达到1000步则领取数量为零),之后的每2000步能领取0.1金币。为了引导用户适量运动,每天领取的金币数量不能超过3。

2、用户只有在APP中点击“签到”才能领取当天步数对应的金币。

3、为了让用户能够每天坚持使用该APP,在用户连续三天签到后,从第四天开始,用户每天“签到”时领取的金币数可以在原金币计算方法的基础上乘以2(当然前提是在第四天时用户也点击“签到”,并且领的金币最多不能超过6)。但之后只要有一天中断点击“签到”,则又要重新连续签到三天,在第四天时才能继续获得金币加倍的优惠。

Ivy的任务是,根据用户每天所走步数以及签到的情况,统计用户n天后所拥有的金币总数。请帮助Ivy设计这个程序。

【输入】

输入共有n+1行,第一行包含一个正整数n,表示需要统计该用户n天后的金币总数。接下来有n(1<=n<=100)行,每行两个正整数,xi(1<=xi<=100000)和fi(1或0),分别表示第i天时用户所走的步数以及当天该用户是否进行了签到。fi为0表示用户当天未点击“签到”,为1表示用户当天点击“签到”。

【输出】

输出数据仅一行,表示n天后该用户所拥有的金币总数,保留一位小数。 【输入输出样例】 sport.in 6 600 1 2300 1 5000 1 56000 1 3 / 9

sport.out 9.8

80000 0 57000 1 【输入输出样例说明】

第一天:用户走了600步,小于1000步,签到后得到0金币。

第二天:用户走了2300步,前1000步可得金币0.3;2300-1000=1300,不足2000步。所以签到后可得0.3金币。

第三天:用户走了5000步,在进行签到后,可得到的金币为:0.3+0.1*2=0.5。 第四天:用户走了56000步,在进行签到后,应得的金币为: 0.3+0.1*27=3。由于是连续第四天签到,所以实际得到3*2=6金币。

第五天:用户走了80000步,但未进行签到,所以得到的金币为0。

第六天:用户走了57000步,进行签到后,应得的金币为::0.3+0.1*28=3.1。由于每天最高获金不能超过3,所以实际得到3金币。

根据上述每天获得的金币,该用户6天后可获“金币”总数为9.8。

4 / 9

联系合同范文客服:xxxxx#qq.com(#替换为@)