- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
JSOI2007夏令营考试B
JSOI2007夏令营考试(B层次)
注意:
考试时间:3小时;
共4个题目,满分400分,每题100分,分为10个测试点;
每个测试点的时限均为1秒,以FP1.0.10\win32下编译为准;
请严格按照题目要求的文件名和输入输出格式进行操作;
题1、手机(MOBILE)
【源程序名】mobile.(pas/c/cpp)
【输入文件】mobile.in
【输出文件】mobile.out
【问题描述】
手机的键盘是这样的:
1 2 abc 3 def 4 ghi 5 jkl 6 mno 7 pqrs 8 tuv 9 wxyz * 0 # 要按出英文字母就必须要按数字键多下。例如要按出x就得按9两下,第一下会出w,而第二下会把w变成x。0键按一下会出一个空格。
你的任务是读取若干句只包含英文小写字母和空格的句子,求出要在手机上打出这个句子至少需要按多少下键盘。
【输入数据】
一行一个句子,只包含英文小写字母和空格,且不超过200个字符。
【输出数据】
一行一个整数,表示按键盘的总次数。
【样例】
mobile.in
i have a dream
mobile.out
23
题2、汇编语言(ASM)
【程序名】asm.(pas/c/cpp)
【输入文件】asm.in
【输出文件】asm.out
【问题描述】
汇编语言的程序有两类语句,顺序执行语句和跳转语句。跳转语句的格式为:jmp 行号,作用是跳到行号所指的那一行去执行。顺序语句执行后不会对程序的执行顺序作任何改变。
比如下面的这个程序:
mov ax, @data
mov ds, ax
jmp 5
jmp 2
mov ax, 4C00H
int 21H
这个程序一共有6条语句,其中第三和第四条是跳转语句。
程序从第一行开始执行,执行到第三行后就跳到第五行执行,执行到第六行后程序结束。
你的任务是编写一个程序,判断一个汇编程序会执行多少行语句后退出,或者会进入死循环。
【输入数据】
第一行是一个数字n,表示程序行数(1=n=200)
下面的n行,每行是一条语句,语句前没有多余空格。
【输出数据】
一个数字,表示程序执行的行数。如果程序进入了死循环,则输出数字0。
【样例】
asm.in
6
mov ax, @data
mov ds, ax
jmp 5
jmp 2
mov ax, 4C00H
int 21H
asm.out
5
题3、奶酪(CHEESE)
【源程序名】cheese.(pas/c/cpp)
【输入文件】cheese.in
【输出文件】cheese.out
【问题描述】
奶酪和pizza一样,是一小块扇形的固体。在奶酪从工厂里生产出来的时候,一共有4种形状,编号为1~4,分别是圆心角为72o,144o,216o,288o的扇形。奶酪的盒子是圆形的,半径和奶酪的半径一致。也就是说,一块1号奶酪和一块4号奶酪可以恰好装入一个盒子,一块2号奶酪和一块3号奶酪可以恰好装入一个盒子。
你的任务是写一个程序,计算给定的奶酪最多可以装满几个盒子。
【输入数据】
一行四个数字,表示1~4号奶酪的数量,都在0~100之内
【输出数据】
一个数字,表示可以装满几个盒子
【样例】
cheese.in
2 1 1 1
cheese.out
2
题4、书本整理(BOOK)
【源文件名】book.(pas/c/cpp)
【输入文件】book.in
【输出文件】book.out
【问题描述】
Frank是一个非常喜爱整洁的人。他有一大堆书和一个书架,想要把书放在书架上。书架可以放下所有的书,所以Frank首先将书按高度顺序排列在书架上。但是Frank发现,由于很多书的宽度不同,所以书看起来还是非常不整齐。于是他决定从中拿掉k本书,使得书架可以看起来整齐一点。
书架的不整齐度是这样定义的:每两本书宽度的差的绝对值的和。例如有4本书:
1x2
5x3
2x4
3x1
那么Frank将其排列整齐后是:
1x2
2x4
3x1
5x3
不整齐度就是2+3+2=7
已知每本书的高度都不一样,请你求出去掉k本书后的最小的不整齐度。
【输入数据】
第一行两个数字n和k,代表书有几本,从中去掉几本。(1=n=100, 1=kn)
下面的n行,每行两个数字表示一本书的高度和宽度,均小于200。
【输出数据】
一行一个整数,表示书架的最小不整齐度。
【样例】
book.in
4 1
1 2
2 4
3 1
5 3
book.out
3
文档评论(0)