企业分享网
首页 > NOIP2017扬中普及组1试题

NOIP2017扬中普及组1试题

来源:网络收集  

jsoi2017 扬中 普及组 1 JSOI2017 普及组 1 试题 (请选手务必仔细阅读本页内容) 一. 题目概况 时钟 clock clock clock.in clock.out 1秒 10 10 有 传统 素数间距 gap gap gap.in gap.out 1秒 10 10 有 传统 回文分割 palin palin palin.in palin.out 1秒 10 10 有 传统 和谐分组 harmony harmony harmony.in harmony.out 1秒 10 10 有 传统 中文题目名称 英文题目名称 可执行文件名 输入文件名 输出文件名 每个测试点时 限 测试点数目 每个测试点分 值 附加样例文件 题目类型 二. 提交源程序文件名 clock.pas clock.c clock.cpp gap.pas gap.c gap.cpp 回文分割 palin palin harmony.pas harmony.c harmony.cpp 对于 pascal 语言 对于 C 语言 对于 C++语言 三. 编译命令(不包含任何优化开关) fpc clock.pas gcc –o clock clock.c -lm g++ -o clock clock.cpp -lm fpc gap.pas gcc –o gap gap.c -lm g++ -o gap gap.cpp -lm fpc palin.pas gcc –o palin palin.c -lm g++ -o palin palin.cpp -lm fpc harmony.pas gcc –o palin harmony.c -lm g++ -o palin harmony.cpp -lm 对于 pascal 语言 对于 C 语言 对于 C++语言 四. 运行内存限制 128M 128M 128M 128M 内存上限 五. 注意事项 1、 文件名(程序名和输入输出文件名)必须使用小写。

2、 C/C++中函数 main()的返回值类型必须是 int,程序正常结束时的返回值必须是 0。

3、 评测时采用的机器配置为:CPU 2.4GHz,内存 2G。

第 1 页 共 5 页

jsoi2017 扬中 普及组 1 时钟 (clock.pas/c/cpp) 【问题描述】 小 s 最近对二进制处于痴迷的状态。

什么都想用二进制来表示。

今天小 s 看着挂在墙上 的钟,就想着用二进制来表示时间。

对于一个时间,小 s 先将时、分、秒都用 6 位二进制表 示出来,然后将三个二进制对齐,用两种方法得到一个时间的两个二进制串。

如:10:37: 49。

分别竖着和横着取出字符,于是得到 011001100010100011 和 00101010010111001 两个字符 串。

【输入格式】 一行,一个 24 小时表示的时间。

符合 XX:XX:XX 的形式,分别表示时、分、秒 【输出格式】 一行,两个字符串,分别表示竖着和横着取出的字符串(具体参见样例)。

两个字符串 用一个空格隔开。

【样例输入 1】 10:37:49 【样例输出 1】 011001100010100011 001010100101110001 【样例输入 2】 00:00:01 【样例输出 2】 000000000000000001 000000000000000001 第 2 页 共 5 页

jsoi2017 扬中 普及组 1 素数间距 (gap.pas/c/cpp) 【问题描述】 小 s 对素数的研究慢慢朝着炉火纯青的地步发展,在研究完素数本身之后,小 s 开始研究 起了素数之间的 gap。

对于素数 2,3,5,7,11,13,17,素数之间的间距分别为 1,2,2, 4,2,4。

每个合数都处于某一个素数 gap 中,比如合数 15 处于间距为 4 的素数 gap。

现 在小 s 想知道,对于一个正整数 N,它处于的素数 gap 的间距是多少。

【输入格式】 一行,一个正整数 N 【输出格式】 一行,一个整数 K,表示 N 所在的素数 gap 的间距。

若 N 本身为一个素数,输出 0 【样例输入 1】 10 【样例输出 1】 4 【样例输入 2】 15 【样例输出 2】 4 【数据范围】 20% N<=100 40% N<=1000 100% N<=1,000,000 第 3 页 共 5 页

jsoi2017 扬中 普及组 1 回文分割 (palin.pas/c/cpp) 【问题描述】 大家都知道回文串吧~ 简单地说就是左右对称的一个串, 比如 abcba,werrew。

小 s 对回文 串的研究已经够深刻了,现在她转而研究其他方面的回文,比如,数的回文拆分。

对于自然 数的拆分, 就是把一个自然数 N 用若干个整数之和表示。

比如 5=1+2+3+4+5=1+2+1+7+1+2+1。

那么怎样的拆分才算是回文的呢?我们用从归纳的角度来定义数的回文拆分。

首先一个数 A=A 是一个回文拆分。

其次,一个自然数 N=A+A 或是 N=A+x+A,其中 A 是一个回文拆分,x 是任意一个自然数,这两种也是回文拆分。

举个例子,7 的所有回文拆分有:7, 1+5+1,2+3+2,1+1+3+1+1,3+1+3,1+1+1+1+1+1+1。

现在小 s 想知道, 一个正整数 N 的回文拆 分到底有多少种。

由于这个数字可能很大, 小 s 只需要你告诉她答案除以 1,000,000,007 的 余数的值。

【输入格式】 一行,一个正整数 N 【输出格式】 一行,一个整数 M,为 N 的回文拆分数%(mod) 1,000,000,007 的值 【样例输入 1】 4 【样例输出 1】 4 【样例输入 2】 20 【样例输出 2】 60 【数据范围】 30% 1<=N<=20 100% 1<=N<=1000 第 4 页 共 5 页

jsoi2017 扬中 普及组 1 和谐分组(harmony.pas/cpp/c) 【问题描述】 s 班共有 n 名学生,按照学号从 1 到的顺序每名学生的身高分别为 a[1],a[2]...a[n]。

由于是新学期,s 班需要进行分组,分组的要求如下: 1. 进行分组的组数不能超过 k。

2. 每组的人的学号必须相邻。

由于身高差过大的人分在同一个组会激起组内内部矛盾(QAQ),所以我们定义一个分 组方案的不和谐度为每个组的身高极差(最高的身高-最矮的身高)的最大值。

我们希望最小化这个不和谐度,输出这个不和谐度。

【输入格式】 第一行包括两个正整数 n,k。

第二行包括用空格隔开的 n 个正整数,第 i 个正整数描述学号为 i 的学生的身高。

【输出格式】 一行包括一个整数,表示不和谐度最小的分组方案的不和谐度。

【输入样例】 8 3 5 7 2 3 8 5 9 4 【输出样例】 5 【样例解释】 一种可能的分组是 5 7 2 / 3 8 5 / 9 4 【数据规模】 所有测试数据范围和特点如下: 测试点编号 1-3 4-5 6-7 8-10 第 5 页 共 5 页

看过本文章的还看过。。。
您可能感兴趣。。。

All Right Reserved 企业分享网

声明:本站内容部分源于网络转载,出于传递更多信息之目的,并不意味着赞同其观点或证实其描述。文章内容仅供参考,请咨询相关专业人士。

如果无意之中侵犯了您的版权,或有意见、反馈或投诉等情况 网站地图 网站栏目