收藏 分享(赏)

NOIP2013普及组模拟试题2.doc

上传人:精品资料 文档编号:9493476 上传时间:2019-08-10 格式:DOC 页数:6 大小:54.50KB
下载 相关 举报
NOIP2013普及组模拟试题2.doc_第1页
第1页 / 共6页
NOIP2013普及组模拟试题2.doc_第2页
第2页 / 共6页
NOIP2013普及组模拟试题2.doc_第3页
第3页 / 共6页
NOIP2013普及组模拟试题2.doc_第4页
第4页 / 共6页
NOIP2013普及组模拟试题2.doc_第5页
第5页 / 共6页
点击查看更多>>
资源描述

1、全国信息学奥林匹克联赛(NOIP2013)复赛模拟 普及组第 1 页 共 6 页全国信息学奥林匹克联赛(NOIP2013)复赛模拟普及组一.题目概览中文题目名称 mirrors 刷墙 算周长 饥饿的奶牛英文题目名称 mirrors paint truth hunger可执行文件名 mirrors paint truth hunger输入文件名 mirrors.in paint.in truth .in hunger .in输出文件名 mirrorsout paint.out truth.out hunger.out每个测试点时限 1 秒 1 秒 1 秒 1 秒测试点数目 10 10 10 10

2、每个测试点分值 10 10 10 10比较方式 全文比较 全文比较 全文比较 全文比较题目类型 传统 传统 传统 传统二.提交源程序文件名对于 pascal 语言 mirrors.pas paint.pas truth.pas hunger.pas对于 C 语言 mirrors.c paint.c truth.c hunger.c对于 C+语言 mirrors.cpp paint.cpp truth.cpp hunger.cpp三.编译命令(不包含任何优化开关)对于 pascal 语言 fpc queue.pas fpc windows.pas fpc s4.pas fpc book.pas对

3、于 C 语言 gcc o queuequeue.cgcc o windowswindows.cgcc o s4s4.cgcc o bookbook.c对于 C+语言 g+ o queuequeue.cppg+ o windowswindows.cppg+ o s4s4.cppg+ o bookbook.cpp四.运行内存限制运行内存上限 50M 50M 50M 50M注意事项:1、文件名(程序名和输入输出文件名)必须使用小写。2、C/C+中函数 main()的返回值类型必须是 int,程序正常结束时的返回值必须是 0。全国信息学奥林匹克联赛(NOIP2013)复赛模拟 普及组第 2 页 共 6

4、 页mirrors(mirrors.pas/c/cpp)【问题描述】 Farmer John 的奶牛在农场周围制造了很多麻烦,所以他想要更加密切地关注它们。通过在农场的不同位置安装 N 块反光栅栏(1 = N = 200),他希望能够从他的房间(在(0,0)位置)看得到谷仓中(a,b)的位置。在 Farmer john 农场的 2D 地图上,栅栏 i 用一条短线段表示,这条线段的中心在整型数位置(x_i,y_i)并且倾斜 45 度,如/和 。例如,一根形如/在(3,5)的栅栏可以被表示成一根从(2.9,4.9)到(3.1,5.1)线段。每根栅栏(也包括整个谷仓的位置)都在不同的整数坐标范围内

5、-1,000,000.1,000,000。没有一根栅栏在(0,0)或者(a,b) 。Farmer John 计划坐在他的房间(0,0)里,直接向右看(在+x 方向) 。当他的目光从农场上一些反光栅栏上掠过,他希望能看到点(a,b) 。不幸的是,Farmer John 认为他将一根栅栏的方向安装得不正确(例如,是 ,而不是/ ) 。请输出在 Farmer John 列表上需要更改的第一根栅栏的序号,修改它的方向后(在/和之间修改,或反之亦然) ,Farmer John 能够看见点(a,b) 。如果 Farmer John 不改变任何栅栏的方向就可以看见点(a,b) ,请输出 0。如果在改变了一个

6、栅栏后仍然看不见(a,b) ,则输出-1。【输入格式】 *第 1 行:三个空格隔开的整型数,N,a 和 b。*第 2 1+N 行:第 i+1 行描述了第 i 根栅栏,表示为“x_i y_i /“ 或者 “x_i y_i “。其中,(x_i, y_i)是该栅栏中心的位置, /或 表明它的方向。【输出格式】 5 6 23 0 /0 2 /1 2 /3 2 1 3 输入详情:农场的地图如下(H 表示 Farmer John 的房子和 B 表示谷仓)3 . 2 /.B 1 . 0 H/. 0123456。【输入样例】5 6 2全国信息学奥林匹克联赛(NOIP2013)复赛模拟 普及组第 3 页 共 6

7、 页3 0 /0 2 /1 2 /3 2 1 3 输入详情:农场的地图如下(H 表示 Farmer John 的房子和 B 表示谷仓)3 . 2 /.B 1 . 0 H/. 0123456【输出样例】4输出详情:通过改变在(3,2)位置的栅栏,Farmer John 可以看见点(a,b) 。地图上显示为:3 . 2 /./-B 1 .|. 0 H-/. 0123456全国信息学奥林匹克联赛(NOIP2013)复赛模拟 普及组第 4 页 共 6 页刷墙(paint.pas/c/c+)【问题描述】Farmer John 已经设计了一种方法来装饰谷仓旁边的长栅栏(把栅栏认为是一根一维的线) 。他把一

8、只画刷绑在他最喜爱的奶牛 Bessie 身上,之后就去喝一杯冰水,而 Bessie隔着栅栏来回走,当她走过某个地方,这里的一段栅栏就被刷上了涂料。Bessie 从栅栏上的位置 0 开始,并且遵循着一个 N 次移动的次序(1 = N = 100,000)。例如“10 L”表示 Bessie 向左移动了 10 个单位长度, “15 R”表示 Bessie 向右移动了 15个单位长度。现给出 Bessie 所有移动的列表,Farmer John 想要知道哪些区域的栅栏至少涂了两层涂料(只涂一层涂料的区域可能在大雨中被洗掉) 。Bessie 在她的行走中最远到达距起始点 1,000,000,000 个

9、单位长度。【输入格式】第 1 行:一个整型数 N。第 2 。 。1+N 行:每行描述了 Bessie 的 N 次移动中的一次,例如“15 L” 。【输出格式】1 行:被至少涂了两层涂料的区域总数。【输入样例】62 R6 L1 R8 L1 R2 R输入详情:Bessie 从位置 0 开始,向右移动 2 个单位长度,向左移动 6 个单位长度,向右移动 1个单位长度,向左移动 8 个单位长度,最后向右移动 3 个单位长度。【输出样例】6输出详情:6 个单位区域至少被涂了两层涂料,是 -11,-8, -4,-3, 0,2这些区域。全国信息学奥林匹克联赛(NOIP2013)复赛模拟 普及组第 5 页 共

10、 6 页Liars and Truth Tellers (truth.pas/c/c+)【问题描述】在花了许多时间陪伴奶牛之后,Farmer John 开始理解它们的语言。而且,他注意到在他的 N 头奶牛中(2 = N = 1000),一些总是说真话,而一些总是说假话。FJ 仔细地听了奶牛们的 N 段陈述,每段陈述的格式为“x y T”,表示“奶牛 x 声称奶牛 y 总说真话” ,或者“x y L”,表示“奶牛 x 声称奶牛 y 总说假话” 。每段陈述包括两头不同的奶牛,相同对的奶牛可以出现在不同的陈述里。不幸的是,FJ 相信他可能在他的列表里写了一些不正确的,所以可能没有一个有效的方法去划定

11、每头奶牛是说真话还是假话并且与 FJ 列表上 M 条陈述都一致。为了帮助 FJ 抢救尽可能多的列表,请计算能够以有效方法划定每头奶牛是说真话还是假话的陈述的最大值。输入格式:*第 1 行:两个空格隔开的整型数,N 和 M。*第 2 。 。1+M 行:每行的格式为“x y L”或者“x y T” ,描述奶牛 x 对奶牛 y 的陈述。输入样例(文件 truth.in):4 31 4 L2 3 T4 1 T输入详情:现在有 4 头奶牛和 3 段陈述。奶牛 1 说奶牛 4 说假话,奶牛 2 说奶牛 3 说真话,奶牛4 说奶牛 1 说真话。输出格式:*第 1 行:能够以有效方法划定每头奶牛是说真话还是假

12、话的陈述的最大值。输出样例(文件 truth.out):2输出详情:陈述 1 和陈述 3 不能同时满足,但是陈述 1 和陈述 2 可以,此时我们让奶牛 1,2,3 说真话,奶牛 4 说假话。全国信息学奥林匹克联赛(NOIP2013)复赛模拟 普及组第 6 页 共 6 页饥饿的奶牛 (hunger.pas/c/c+)【问题描述】牛在饲料槽前排好了队。饲料槽依次用 1 到 N(1=N=2000)编号。每天晚上,一头幸运的牛根据约翰的规则,吃其中一些槽里的饲料。约翰提供 B 个区间的清单。一个区间是一对整数 start-end,1=start=end=N,表示一些连续的饲料槽,比如 1-3,7-8,3-4 等等。牛可以任意选择区间,但是牛选择的区间不能有重叠。当然,牛希望自己能够吃得越多越好。给出一些区间,帮助这只牛找一些区间,使它能吃到最多的东西。在上面的例子中,1-3 和 3-4 是重叠的;聪明的牛选择1-3,7-8,这样可以吃到 5个槽里的东西。输入第一行,整数 B(1=B=1000)第 2 到 B+1 行,每行两个整数,表示一个区间,较小的端点在前面。输出仅一个整数,表示最多能吃到多少个槽里的食物。样例HUNGER.IN31 37 83 4HUNGER.OUT5

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报