全国信息学奥林匹克联赛( NOIP2018)复赛 普及组 CCF 全国信息学奥林匹克联赛 ( NOIP2018) 复赛 普及组 (请选手务必仔细阅读本页内容) 一.题目概况 中文题目名称 标题统计 龙虎斗 摆渡车 对称二叉树 英文题目与子目录名 title fight bus tree 可执行文件名 title fight bus tree 输入文件名 title.in fight.in bus.in tree.in 输出文件名 title.out fight.out bus.out tree.out 每个测试点时限 1秒 1秒 2秒 1秒 测试点数目 20 25 20 25 每个测试点分值 5 4 5 4 附加样例文件 有 有 有 有 结果比较方式 全文比较 ( 过滤行末空格及文末回车 ) 题目类型 传统 传统 传统 传统 运行 内存上限 256M 256M 256M 256M 二.提交源程序文件名 对于 C++语言 title.cpp fight.cpp bus.cpp tree.cpp 对于 C语言 title.c fight.c bus.c tree.c 对于 pascal语言 title.pas fight.pas bus.pas tree.pas 三.编译命令(不包含任何优化开关) 对于 C++语言 g++ -o title g++ -o fight g++ -o bus g++ -o tree title.cpp -lm fight.cpp -lm bus.cpp -lm tree.cpp -lm 对于 C语言 gcc -o title title.c gcc -o fight fight.c gcc -o bus gcc -o tree tree.c -lm -lm bus.c -lm -lm 对于 pascal语言 fpc title.pas fpc fight.pas fpc bus.pas fpc tree.pas 注意 事项 : 1、 文件名 (程序名和输入输出文件名) 必须使用 英文 小写 。 2、 C/C++中函数 main()的返回值类型必须是 int,程序正常结束时的返回值必须是 0。 3、 全国统一评测时采用的机器配置为: Intel(R) Core(TM) i7-8700K CPU @ 3.70GHz, 内存 32GB。 上述时限以此配置为准。 4、只提供 Linux格式附加样例文件。 5、特别提醒: 评测在当前最新公布的 NOI Linux下进行,各语言的编译器版本以其为准 。 第 1页共 9页 全国信息学奥林匹克联赛( NOIP2018)复赛 普及组 1. 标题统计 (title.cpp/c/pas) 【问题描述】 凯凯 刚 写了一篇 美妙 的 作文 ,请问这篇作文的标题中有 多少 个字符? 注意:标题中 可能包含大、小写英文字母、数字字符 、 空格 和换行符 。统计标题字 符数时,空格 和换行符 不计 算在内 。 【输入 格式 】 输入文件名为 title.in。 输入文件只有 一 行, 一个字符串 s。 【输出 格式 】 输出文件名为 title.out。 输出文件只有 一 行,包含一个 整数,即 作文标题的字符数 (不含空格 和换行符 ) 。 【输入输出样例 1】 title.in title.out 234 3 见选手目录下的 title/title1.in和 title/title1.ans。 【 输入输出样例 1说明 】 标题中共有 3个 字符,这 3个字符都是 数字 字符 。 【输入输出样例 2】 title.in title.out Ca 45 4 见选手目录下的 title/title2.in和 title/title2.ans。 【 输入输出样例 2说明 】 标题中共有 5个字符, 包括 1个大写英文字母, 1个小写英文字母 和 2个数字字符 , 还有 1个空格 。由于空格 不计入结果中 ,故标题的 有效 字符数为 4个 。 【数据规模与约定 】 规定 |s| 表示字符串 s 的长度(即 字符串中的 字符 和空格 数)。 对于 40% 的数据 , 1 ≤|s| ≤5,保证输入为数字字符 及行末换行符 。 对于 80% 的数据, 1 ≤|s| ≤5,输入 只 可能 包含 大、小写英文字母 、 数字字符 及 行末换行符 。 对于 100% 的数据, 1 ≤ |s|≤ 5,输入可能包含大 、小 写英文字母 、 数字字符 、 空 格 和行末换行符 。 第 2页共 9页 全国信息学奥林匹克联赛( NOIP2018)复赛 普及组 2. 龙虎斗 (fight.cpp/c/pas) 【问题描述】 轩轩和凯凯正在玩一款叫《龙虎斗》的游戏, 游戏的 棋盘 是一条线段, 线段上有 ???? 个兵营(自左至右编号 1 ~ ????) , 相邻编号的兵营之间相隔 1 厘米 , 即 棋盘为 长度为 ?????1 厘米 的线段 。 ???? 号兵营里有 c???? 位工兵 。 下面 图 1为 ???? = 6 的 示 例: 图 1. ???? =6的 示例 轩轩在左侧,代表“龙”;凯凯在右侧,代表“虎”。 他们以 m 号兵营作为分界, 靠左的工兵属于龙势力,靠右的工兵属于虎势力 ,而 第 ???? 号兵营中的工兵很纠结,他 们不属于任何一方 。 一个兵营的气势为:该兵营中的工兵数 × 该兵营到 m 号兵营的距离 ;参与游戏 一方的势力定义为:属于这一方所有兵营的气势之和。 下 面 图 2为 n= 6,???? =4 的 示 例 ,其中 红色为龙方 , 黄色为虎方 : 图 2. n = 6,???? = 4的示例 游戏过程中,某一刻 天降神兵, 共有 ????1 位工兵突然出现 在了 ????1 号 兵营 。 作为 轩 轩和凯凯的朋友, 你知道如果龙虎双方气势差距太悬殊,轩轩和凯凯就不愿意继续玩下 去了。 为了让游戏继续, 你需要选择一个兵营 ????2, 并 将 你 手里的 ????2 位 工兵 全部 派 往 兵营 ????2,使得双方气势差距尽可能小。 注意: 你手中的 工兵落在哪个兵营,就和 该兵营中 其他工兵有相同的势力归属(如 果落在 m 号兵营,则不属于任何势力 )。 【输入格式】 输入文件名为 fight.in。 输入文件的第一行包含一 个正整数 ????,代表 兵营 的数量 。 接下来 的 一 行 包含 ???? 个正整数, 相邻两数之间 以 一个 空格 分隔 , 第 ???? 个正整数代 表 编号为 ???? 的 兵营中起始时的工兵数量 ????????。 接下来 的 一行 包含 四个正整数, 相邻两数间 以 一个 空格 分隔 ,分别代表 ????,????1,????1,????2。 【输出格式】 输出文件名为 fight.out。 输出文件有 一 行, 包含 一 个 正 整数, 即 ????2,表示 你选择的 兵营 编号。 如果存在多 个编号 同时满足最优,取 最 小的编号。 【输入输出样例 1】 fight.in fight.out 6 2 2 3 2 3 2 3 4 6 5 2 第 3页共 9页 全国信息学奥林匹克联赛( NOIP2018)复赛 普及组 见选手目录下的 fight/fight1.in和 fight/fight1.ans。 【输入输出样例 1说明】 见 问 题 描述 中 的 图 2。 双方以 ???? =4 号兵营 分界 , 有 ????1 = 5 位工兵突然出现在 ????1 = 6 号兵营。 龙方的气势 为: 2×(4?1)+3×(4?2)+2×(4?3) = 14 虎方的气势 为: 2×(5?4)+(3+5)×(6?4) =18 当 你将手中的 ????2 = 2 位工兵派往 ????2 =2 号兵营 时, 龙方的气势 变为: 14+2×(4?2) =18 此时 双方气势 相等 。 【输入输出样例 2】 fight.in fight.out 6 1 1 1 1 1 1 16 5 4 1 1 见选手目录下的 fight/fight2.in和 fight/fight2.ans。 【输入输出样例 2说明】 双方以 ???? =5 号兵营分界,有 ????1 = 1 位工兵突然出现在 ????1 = 4 号兵营。 龙方的气势为 : 1×(5?1)+1×(5?2)+1×(5?3)+(1+1)×(5?4) = 11 虎方的气势为 : 16×(6?5) =16 当你将手中的 ????2 = 1 位工兵派往 ????2 =1 号兵营时,龙方的气势变为: 11+1×(5?1) =15 此时 可以使 双方气势的差距 最小。 【输入输出样例 3】 见选手目录下的 fight/fight3.in和 fight/fight3.ans。 【数据规模与约定】 1 ??? ???,1 ≤????1 ≤????。 对于 20% 的数据, ???? =3, ???? =2, ???????? =1, ????1,????2 ≤ 100。 另有 20% 的数据, ???? ≤10, ????1 = ????, ???????? = 1, ????1,????2 ≤ 100。 对于 60% 的数据, ???? ≤100, ???????? = 1, ????1,????2 ≤ 100。 对于 80% 的数据, ???? ≤100, ????????,????1,????2 ≤100。 对于 100% 的数据, ???? ≤ 105, ????????,???? 9 1,????2 ≤ 10 。 第 4页共 9页 全国信息学奥林匹克联赛( NOIP2018)复赛 普及组 3. 摆渡车 (bus.cpp/c/pas) 【问题描述】 有 ???? 名同学要乘坐摆渡车从人大附中前往 人民大学 , 第 ???? 位同学在第 ???????? 分钟去 等车 。 只有一辆摆渡车在工作 ,但摆渡车容量可以视为无限大 。 摆渡车从人大附中出发、 把 车上的 同学送到人民大学、再回到人大附中 ( 去接其他同学 ),这样往返一趟 总共花 费 ???? 分钟 (同学上下车时间忽略不计)。 摆渡车要将所有同学都送到人民大学 。 凯凯很好奇,如果 他能任意安排 摆渡车出发的时间, 那么 这些同学的等车时间之和 最小为多少呢 ? 注意:摆渡车回到人大附中后可以即刻出发。 【输入 格式 】 输入文件名为 bus.in。 第一行包含两个正整数 ????, m,以一个空格分开,分别代表 等车人数和摆渡车往返 一趟的时间。 第二行 包含 ???? 个正整数, 相邻两数之间 以 一个 空格分隔, 第 i 个 非负 整数 ???????? 代 表 第 i 个同学到达车站的时刻。 【输出 格式 】 输出文件名为 bus.out。 输出 一行,一个整数,表示 所有同学等车 时间 之和的最小值 ( 单位: 分钟) 。 【输入输出样例 1】 bus.in bus.out 5 1 0 3 4 4 3 5 见选手目录下的 bus/bus1.in和 bus/bus1.ans。 【输入输出样例 1说明】 同学 1 和同学 4 在第 3 分钟开始等车, 等待 0 分钟, 在第 3 分钟 乘坐摆渡车 出发。 摆渡车 在 第 4 分钟回到 人大附中 。 同学 2 和同学 3 在第 4 分钟开始等车,等待 0 分钟,在第 4 分钟乘坐摆渡车 出发。摆渡车在第 5 分钟回到人大附中。 同学 5 在第 5 分钟开始等车,等待 0 分钟,在第 5 分钟乘坐摆渡车出发。 自此 所有同学 都被送到人民大学 。总等待时间为 0。 【输入输出样例 2】 bus.in bus.out 5 5 4 11 13 1 5 5 见选手目录下的 bus/bus2.in和 bus/bus2.ans。 第 5页共 9页 全国信息学奥林匹克联赛( NOIP2018)复赛 普及组 【输入输出样例 2说明】 同学 3 在第 1 分钟开始等车,等待 0 分钟 , 在第 1 分钟乘坐摆渡车出发。摆渡 车在第 6 分钟回到人大附中。 同学 4 和同学 5 在第 5 分钟开始等车,等待 1 分钟 , 在第 6 分钟乘坐摆渡车 出发。摆渡车在第 11 分钟回到人大附中。 同学 1 在第 11 分钟开始等车,等待 2 分钟;同学 2 在第 13 分钟开始等车, 等待 0 分钟。他 /她们在第 13 分钟乘坐摆渡车出发。 自此所有同学都被送到人民大学。 总等待时间为 4。可以证明,没有总等待时间小于 4 的 方案。 【输入输出样例 3】 见选手目录下的 bus/bus3.in和 bus/bus3.ans。 【数据规模与约定】 对于 10% 的数据, ???? ≤10, ???? =1, 0≤ ???????? ≤100。 对于 30% 的数据, ???? ≤20, ???? ≤ 2, 0 ≤???????? ≤100。 对于 50% 的数据, ???? ≤500, ???? ≤100, 0 ≤???????? ≤ 104。 另有 20% 的数据, ???? ≤500, ???? ≤10, 0≤ ???? 6 ???? ≤4×10 。 对于 100% 的数据, ???? ≤ 500, ???? ≤100, 0≤ ???? 6 ???? ≤4×10 。 第 6页共 9页 全国信息学奥林匹克联赛( NOIP2018)复赛 普及组 4. 对称二叉树 (tree.cpp/c/pas) 【问题描述】 一棵 有点权的 有根 树 如果 满足以下条件,则被 轩轩 称为 对称二叉树 : 1. 二叉树 ; 2. 将这 棵树 所有 节点的左右 子树交换,新树和原树对应位置的 结构相同且 点权相 等。 下图 中节点内的数字为权值,节点外的 ???????? 表示节点 编号 。 对称二叉树 非对称二叉树 非对称二叉树 ( 权值不对称 ) ( 结构不对称 ) 原树 所有节 点的左 右子树 交换 后 现在给出一棵 二叉树,希望你 找 出它的一棵子树 , 该子树为对称二叉树 , 且节点数 最多 。 请 输出这棵 子树的 节点数。 注意:只有树根的树也是对称二叉树。 本题中 约定, 以 节点 ???? 为 子树 根 的 一 棵 “子 树”指 的是 : 节点 ???? 和它 的 全部 后代节点 构成的二叉树 。 【输入格式】 输入文件名为 tree.in。 第一行一 个正整数 ????, 表示 给 定 的树的节点的 数目 , 规定节点编号 1~n,其中 节点 1 是树根 。 第二行 ???? 个正整数, 用 一个 空格分隔, 第 ???? 个正整数 ???????? 代表节点 ???? 的权值 。 接下来 ???? 行,每行两个正整数 ????????, ????????,分别表示 节点 ???? 的 左右孩子的 编 号 。 如果 不存在左 / 右孩子,则 以 ?1 表示 。 两个数之间用一个空格隔开。 【输出格式】 输出文件名为 tree.out。 输出文件 共一行, 包含 一个整数,表示 给定的树的最大 对称 二叉子树的节点数。 第 7页共 9页 全国信息学奥林匹克联赛( NOIP2018)复赛 普及组 【输入输出样例 1】 tree.in tree.out 2 1 1 3 2 -1 -1 -1 见选手目录下的 tree/tree1.in和 tree/tree1.ans。 【输入输出样例 1说明】 最大的对称二叉子树为 以节点 2 为树根的子树,节点数为 1。 【输入输出样例 2】 tree.in tree.out 10 3 2 2 5 5 5 5 4 4 2 3 9 10 -1 -1 -1 -1 -1 -1 -1 -1 -1 2 3 4 5 6 -1 -1 7 8 见选手目录下的 tree/tree2.in和 tree/tree2.ans。 【输入输出样例 2说明】 第 8页共 9页 全国信息学奥林匹克联赛( NOIP2018)复赛 普及组 最大的对称二叉子树为以节点 7 为树根的子树,节点数为 3。 【输入输出样例 3】 见选手 目录下的 tree/tree3.in和 tree/tree3.ans。 【数据规模与约定】 共 25 个测试点。 ???????? ≤ 1000。 测试点 1~3, ???? ≤ 10, 保证 根结点的左子树的所有节点都没有右 孩子,根结点的右 子树的所有节点 都没有左 孩子。 测试点 4~8, ???? ≤ 10。 测试点 9~12, ???? ≤105, 保证输入是一棵 “ 满二叉树 ” 。 测试点 13~16, ???? ≤ 105, 保证输入 是一棵 “ 完全二叉树 ” 。 测试点 17~20, ???? ≤ 105, 保证输入的树的 点权 均 为 1。 测试点 21~25, ???? ≤ 106。 本题约定: 层次 : 节点的层次从根开始定义起,根为第一层,根的孩子为第二层。树中任一节 点的层次等于其 父亲 节点的层次加 1。 树的深度: 树中节点的最大层次称为树的深度。 满二叉树: 设二叉树的深度为 ?,且二叉树有 2? ?1 个节点,这就是满二叉树。 满二叉树 (深度为 3) 完全二叉树: 设二叉树的深度为 ?,除第 ? 层外,其它各层的结点数都达到最大 个数,第 ? 层所有的结点都连续集中在最左边,这就是完全二叉树。 完全二叉树 (深度为 3) 完全二叉树 (深度为 3) 第 9页共 9页

2021-04-26

下载0次

626.48KB

将图像顺时针旋转90度c语言,高中信息技术试卷|信息技术试卷下载_21试卷_21世纪教育网...相关推荐

  1. 【Android RTMP】NV21 图像旋转处理 ( 问题描述 | 图像顺时针旋转 90 度方案 | YUV 图像旋转细节 | 手机屏幕旋转方向 )

    文章目录 安卓直播推流专栏博客总结 一. NV21 图像格式与 Camera图像传感器方向问题 二. NV21 图像格式视频旋转 1. 图像旋转问题及解决方案 ( 顺时针旋转 90 度 ) 2. NV ...

  2. 有一副由NxN矩阵表示的图像,这里每个像素用一个int表示,请编写一个算法,在不占用额外内存空间的情况下(即不使用缓存矩阵),将图像顺时针旋转90度。 给定一个NxN的矩阵,和矩阵的阶数N,请返回旋转

    有一副由NxN矩阵表示的图像,这里每个像素用一个int表示,请编写一个算法,在不占用额外内存空间的情况下(即不使用缓存矩阵),将图像顺时针旋转90度. 给定一个NxN的矩阵,和矩阵的阶数N,请返回旋转 ...

  3. node 16位 转24位_同时将24位和32位BMP图像顺时针旋转90度

    上一次我们将24位的皮卡丘旋转了90度,但是后来改需求了...要求把32位的.bmp文件也能够旋转90度.上次就懵逼的我继续懵逼,只好继续转向CSDN求助. 浏览了各种求助帖(还找到了数年前的信科大一 ...

  4. leetcode C++ 48. 旋转图像 给定一个 n × n 的二维矩阵表示一个图像。 将图像顺时针旋转 90 度。

    一.思路: 某一个的转化后的路径变化:(i,j)-->(j,n-1-i)-->(n-1-i,n-1-j)-->(i,j), 所以转变一个,就等于转变4个,n为偶数数时,遍历n*n/4 ...

  5. 【Android RTMP】NV21 图像旋转处理 ( 图像旋转算法 | 后置摄像头顺时针旋转 90 度 | 前置摄像头顺时针旋转 90 度 )

    文章目录 安卓直播推流专栏博客总结 一. 后置摄像头顺时针旋转 90 度 二. 前置摄像头顺时针旋转 90 度 三. NV21 格式图像旋转代码 安卓直播推流专栏博客总结 Android RTMP 直 ...

  6. NV21 图像旋转处理 ( 后置摄像头顺时针旋转 90 度 | 前置摄像头顺时针旋转 90 度 )

    1 . NV21 格式图像数据的排列 : 16 1616 个 Y 灰度数据在前 , 然后 4 44 组 ( 8 88 个 ) VU 色彩值 , 饱和度 , 数据交替存放 ; 2 . NV21 格式的图 ...

  7. matlab如何将横轴上的汉字旋转90度,第72节:在液晶屏中把字体顺时针旋转90度显示的算法程序...

    从业近十年!手把手教你单片机程序框架 第72讲 开场白: 我曾经遇到过这样的项目,客户由于外壳结果的原因,故意把液晶屏物理位置逆时针旋转了90度,在这种情况下,如果按之前的显示驱动就会发现字体也跟着倒 ...

  8. LeetCode——Rotate Image(二维数组顺时针旋转90度)

    问题: You are given an n x n 2D matrix representing an image. Rotate the image by 90 degrees (clockwis ...

  9. 编写程序python、实现将矩阵顺时针旋转90°_Java实现矩阵顺时针旋转90度的示例...

    实现矩阵的转置较为容易,只需要将纵横下标互换即可.实现矩阵旋转稍微麻烦一点. 解题思路: 矩阵转换90度,则原矩阵的纵下标转变为新矩阵的横下标:原矩阵的横下标转变为新矩阵的纵下标,并且顺序相反. pu ...

最新文章

  1. php ImageMagick扩展
  2. 程序员面试时,不小心说了真话…...
  3. python cv release_Python cv.GetSize方法代码示例
  4. Codeforces 1314 题解
  5. elasticsearch mapping之store
  6. 23套新鲜出炉的网站和手机界面 PSD 素材
  7. [HDOJ4027]Can you answer these queries?(线段树,特殊成段更新,成段查询)
  8. java中挂起和恢复,应用程序“未能及时恢复”并挂起
  9. AlexNet原理及tensorflow实现
  10. 一种支持多种流媒体协议的播放内核
  11. 升腾主机装linux,升腾终端安装说明
  12. 计算机wps云文档功能不见,WPS2019文档丢失怎么办 WPS2019云文档在哪
  13. 复制-粘贴-剪切(深入Vim寄存器)Vim寄存器
  14. 将 EBS R12.1.1 升级到 R12.1.3
  15. jQuery之动画的淡入淡出效果
  16. python量化交易系统_Python学员作品-股票量化交易系统
  17. c# sha256withrsa 算法 rsa公钥私钥 源码
  18. EasyCVR平台H.265视频播放加载致服务异常的偶发现象解决办法
  19. 联发科MT6873和MT6853的区别是什么?
  20. 上班第一天,人工智能的各路“谈资”已为你备好

热门文章

  1. what?传统风控策略,无法cover到以下风控场景
  2. Scratch:海龟绘图(九)
  3. vsftpd 启动 vsftpd:500 OOPS: bad bool value in config file for: guest_enable
  4. 置入式模型inclusion model和显示具现化
  5. codevs 1191 树轴染色 线段树区间定值,求和
  6. JavaSE基础笔记
  7. 第十四章 七段数码管绘制时间
  8. iOS之LLDB常用调试命令
  9. nowcoder80D applese的生日
  10. 韩顺平 servlet 笔记 第4讲