NOIP2015提高组复赛试题Day2

CCF 全国信息学奥林匹克联赛(NOIP2015)复赛

提高组day2

(请选手务必仔细阅读本页内容)

一.题目概况

二.提交源程序文件名

三.编译命令(不包含任何优化开关)

注意事项:

1、文件名(程序名和输入输出文件名)必须使用英文小写。

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

3、全国统一评测时采用的机器配置为:CPU AMD Athlon(tm) II x2 240 processor,2.8GHz,

内存 4G,上述时限以此配置为准。

4、只提供 Linux 格式附加样例文件。

5、特别提醒:评测在当前最新公布的 NOI Linux 下进行,各语言的编译器版本以其为准。

1.跳石头

(stone.cpp/c/pas)

【问题描述】

一年一度的“跳石头”比赛又要开始了!

这项比赛将在一条笔直的河道中进行,河道中分布着一些巨大岩石。组委会已经选择好了两块岩石作为比赛起点和终点。在起点和终点之间,有 N 块岩石(不含起点和终点的岩石)。在比赛过程中,选手们将从起点出发,每一步跳向相邻的岩石,直至到达终点。

为了提高比赛难度,组委会计划移走一些岩石,使得选手们在比赛过程中的最短跳跃距离尽可能长。由于预算限制,组委会至多从起点和终点之间移走 M 块岩石(不能移走起点和终点的岩石)。

【输入格式】

输入文件名为 stone.in。

输入文件第一行包含三个整数 L,N,M,分别表示起点到终点的距离,起点和终点之间的岩石数,以及组委会至多移走的岩石数。

接下来 N 行,每行一个整数,第 i 行的整数 Di(0 < Di < L)表示第 i 块岩石与起点的距离。这些岩石按与起点距离从小到大的顺序给出,且不会有两个岩石出现在同一个位置。

【输出格式】

输出文件名为 stone.out。

输出文件只包含一个整数,即最短跳跃距离的最大值。

【输入输出样例 1 说明】

将与起点距离为 2 和 14 的两个岩石移走后,最短的跳跃距离为 4(从与起点距离 17 的岩石跳到距离 21 的岩石,或者从距离 21 的岩石跳到终点)。【输入输出样例 2】

见选手目录下的 stone/stone2.in 和 stone/stone2.ans。

【数据规模与约定】

对于 20%的数据,0 ≤ M ≤ N ≤ 10。

对于 50%的数据,0 ≤ M ≤ N ≤ 100。

对于 100%的数据,0 ≤ M ≤ N ≤ 50,000,1 ≤ L ≤ 1,000,000,000。

2.子串

(substring.cpp/c/pas)

【问题描述】

有两个仅包含小写英文字母的字符串A和B。现在要从字符串A中取出k个互不重叠的非空子串,然后把这k个子串按照其在字符串A中出现的顺序依次连接起来得到一个新的字符串,请问有多少种方案可以使得这个新串与字符串B 相等?注意:子串取出的位置不同也认为是不同的方案。

【输入格式】

输入文件名为 substring.in。

第一行是三个正整数 n,m,k,分别表示字符串 A 的长度,字符串 B 的长度,以及问题描述中所提到的 k,每两个整数之间用一个空格隔开。

第二行包含一个长度为 n 的字符串,表示字符串A。

第三行包含一个长度为 m 的字符串,表示字符串B。

【输出格式】

输出文件名为 substring.out。

输出共一行,包含一个整数,表示所求方案数。由于答案可能很大,所以这里要求输出答案对 1,000,000,007 取模的结果。

【输入输出样例 1】

【输入输出样例 2】

【输入输出样例 3】

【输入输出样例说明】

所有合法方案如下:(加下划线的部分表示取出的子串)

样例 1:aab aab / aab aab

样例 2:a ab aab / a aba ab / a a ba ab / aab a ab

aa b aab / aa baa b / aab aa b

样例 3:a a b aab / a a baa b / a ab a a b / a aba a b

a a

b a a b / a a ba a b / aab a a b

【输入输出样例 4】

见选手目录下 substring/substring4.in 与 substring/substring4.ans。【数据规模与约定】

对于第 1 组数据:1≤n≤500,1≤m≤50,k=1;

对于第 2 组至第 3 组数据:1≤n≤500,1≤m≤50,k=2;

对于第 4 组至第 5 组数据:1≤n≤500,1≤m≤50,k=m;

对于第 1 组至第 7 组数据:1≤n≤500,1≤m≤50,1≤k≤m;

对于第 1 组至第 9 组数据:1≤n≤1000,1≤m≤100,1≤k≤m;

对于所有 10 组数据:1≤n≤1000,1≤m≤200,1≤k≤m。

3. 运输计划

(transport.cpp/c/pas)

【问题描述】

公元 2044 年,人类进入了宇宙纪元。

L 国有 n 个星球,还有 n-1 条双向航道,每条航道建立在两个星球之间,这 n-1 条航道连通了 L 国的所有星球。

小 P 掌管一家物流公司,该公司有很多个运输计划,每个运输计划形如:有一艘物流飞船需要从 ui 号星球沿最快的宇航路径飞行到 vi 号星球去。显然,飞船驶过一条航道是需要时间的,对于航道j,任意飞船驶过它所花费的时间为tj,并且任意两艘飞船之间不会产生任何干扰。

为了鼓励科技创新,L 国国王同意小 P 的物流公司参与 L 国的航道建设,即允许小 P 把某一条航道改造成虫洞,飞船驶过虫洞不消耗时间。

在虫洞的建设完成前小 P 的物流公司就预接了 m 个运输计划。在虫洞建设完成后,这 m 个运输计划会同时开始,所有飞船一起出发。当这 m 个运输计划都完成时,小 P 的物流公司的阶段性工作就完成了。

如果小 P 可以自由选择将哪一条航道改造成虫洞,试求出小 P 的物流公司完成阶段性工作所需要的最短时间是多少?

【输入格式】

输入文件名为 transport.in。

第一行包括两个正整数 n、m,表示 L 国中星球的数量及小 P 公司预接的运输计划的数量,星球从 1 到 n 编号。

接下来 n-1 行描述航道的建设情况,其中第 i 行包含三个整数 ai, bi 和ti,表示第 i 条双向航道修建在 ai 与 bi 两个星球之间,任意飞船驶过它所花费的时间为 ti。

接下来 m 行描述运输计划的情况,其中第 j 行包含两个正整数 uj 和 vj,表示第 j 个运输计划是从 uj 号星球飞往 vj 号星球。

【输出格式】

输出文件名为 transport.out。

共 1 行,包含 1 个整数,表示小 P 的物流公司完成阶段性工作所需要的最短时间。

【输入输出样例 1 说明】

将第 1 条航道改造成虫洞:则三个计划耗时分别为:11、12、11,故需要花费的时间为 12。

将第 2 条航道改造成虫洞:则三个计划耗时分别为:7、15、11,故需要花

费的时间为 15。

将第 3 条航道改造成虫洞:则三个计划耗时分别为:4、8、11,故需要花费的时间为 11。

将第 4 条航道改造成虫洞:则三个计划耗时分别为:11、15、5,故需要花

费的时间为 15。

将第 5 条航道改造成虫洞:则三个计划耗时分别为:11、10、6,故需要花

费的时间为 11。

故将第 3 条或第 5 条航道改造成虫洞均可使得完成阶段性工作的耗时最短,需要花费的时间为 11。

【样例输入输出 2】

见选手目录下的 transport/transport2.in 与 transport/transport2.ans。【数据规模与约定】

NOI提高组C++试题

第十九届全国青少年信息学奥林匹克联赛初赛 提高组C++语言试题 竞赛时间:2013 年10 月13 日14:30~16:30 选手注意: ✍试题纸共有12 页,答题纸共有2 页,满分100 分。请在答题纸上作答,写在试题纸上的一律无效。 ✍不得使用任何电子设备(如计算器、手机、电子词典等)或查阅任何书籍资料。 一、单项选择题(共15 题,每题1.5 分,共计22.5 分;每题有且仅有一个正确选项) 1. 一个32 位整型变量占用()个字节。 A. 4 B. 8 C. 32 D. 128 2. 二进制数11.01 在十进制下是()。 A. 3.25 B. 4.125 C. 6.25 D. 11.125 3. 下面的故事与()算法有着异曲同工之妙。 从前有座山,山里有座庙,庙里有个老和尚在给小和尚讲故事:?从前有座山,山里有座庙,庙里有个老和尚在给小和尚讲故事:‘从前有座山,山里有座庙,庙里有个老和尚给小和尚讲故事....’? A. 枚举 B. 递归 C. 贪心 D. 分治 4. 1948 年,()将热力学中的熵引入信息通信领域,标志着信息论研究的开端。 A. 冯·诺伊曼(John von Neumann) B. 图灵(Alan Turing) C. 欧拉(Leonhard Euler) D. 克劳德·香农(Claude Shannon) 5. 已知一棵二叉树有2013 个节点,则其中至多有()个节点有2 个子节点。 A. 1006 B. 1007 C. 1023 D. 1024 6. 在一个无向图中,如果任意两点之间都存在路径相连,则称其为连通图。右图是一个 有5 个顶点、8 条边的连通图。若要使它不再是连通图,至少要删去其中的() 条边。

乌龟棋 (NOIP2010)复赛 提高组 试题二 解题代码

乌龟棋(NOIP2010)复赛提高组试题二解题代码 分类:C/C++解题代码2011-07-23 18:56 271人阅读评论(2) 收藏举报view plaincopy to clipboardprint? 1. /* 2. 全国信息学奥林匹克联赛(NOIP2010)复赛提高组第二题 3. 【问题描述】 4. 小明过生日的时候,爸爸送给他一副乌龟棋当作礼物。 5. 乌龟棋的棋盘是一行N 个格子,每个格子上一个分数(非负整数)。棋盘第1 格 是唯一 6. 的起点,第N 格是终点,游戏要求玩家控制一个乌龟棋子从起点出发走到终点。 7. …… 8. 1 2 3 4 5 …… N 9. 乌龟棋中M 张爬行卡片,分成4 种不同的类型(M 张卡片中不一定包含所有4 种 类型 10. 的卡片,见样例),每种类型的卡片上分别标有1、2、3、4 四个数字之一,表 示使用这种卡 11. 片后,乌龟棋子将向前爬行相应的格子数。游戏中,玩家每次需要从所有的爬行 卡片中选择 12. 一张之前没有使用过的爬行卡片,控制乌龟棋子前进相应的格子数,每张卡片只 能使用一次。 13. 游戏中,乌龟棋子自动获得起点格子的分数,并且在后续的爬行中每到达一个格 子,就得到 14. 该格子相应的分数。玩家最终游戏得分就是乌龟棋子从起点到终点过程中到过的 所有格子的 15. 分数总和。 16. 很明显,用不同的爬行卡片使用顺序会使得最终游戏的得分不同,小明想要找到 一种卡 17. 片使用顺序使得最终游戏得分最多。 18. 现在,告诉你棋盘上每个格子的分数和所有的爬行卡片,你能告诉小明,他最多 能得到 19. 多少分吗? 20. 【输入】 21. 输入文件名tortoise.in。输入文件的每行中两个数之间用一个空格隔开。 22. 第1 行2 个正整数N 和M,分别表示棋盘格子数和爬行卡片数。

noip2015普及组复赛试题

noip2015普及组复赛试题 题目一:矩阵运算 给定一个n阶方阵A(1 ≤ n ≤ 100),求A的所有指定行指定列删除后得到的新矩阵的行列式。 输入格式: 输入第一行包含一个整数n,表示方阵的阶数。 接下来n行,每行包含n个整数,表示方阵A的元素。 接下来一行包含两个整数,表示要删除的行和列的序号。 输出格式: 输出一个整数,表示新矩阵的行列式的值。 题目要求: 首先,我们需要编写一个能够计算矩阵行列式的函数,然后根据题意进行修改,使其能够处理删除指定行列后的新矩阵,并返回新矩阵的行列式的值。 算法思路: 我们可以使用拉普拉斯展开定理来计算矩阵行列式的值。首先定义一个变量result,初始化为0。然后遍历矩阵的第一行元素,对于第i 个元素,根据其正负性,计算其余元素组成的(n-1)阶子矩阵的行列式

的值,并递归调用自身。最后将每个元素计算得到的行列式值乘以其对应的元素,累加到result上。 然后根据题目要求,在计算每个元素对应的子矩阵时,判断是否需要删除指定的行列。如果需要删除,则直接跳过该行列,否则继续计算。 代码如下: ```python def determinant(matrix): n = len(matrix) if n == 1: return matrix[0][0] result = 0 for i in range(n): if n > 2: sub_matrix = [row[:i] + row[i+1:] for row in matrix[1:]] else: sub_matrix = matrix[1:] det = determinant(sub_matrix) result += (-1) ** i * matrix[0][i] * det

NOIP提高组初赛历年试题及答案阅读题篇

NOIP提高组初赛历年试题及答案阅读题篇 阅读程序写结果(共4 题,每题8 分,共计32 分) 阅读程序的最好方法并非是依次从头到尾。程序不像迷语,我们无法从末尾几页找到答案,也不像一本引人入胜的书籍,只需直接翻到褶皱最多的那几页,我们就能找到最精彩的片断。因此我们在阅读程序时,最好逐一考察研究每一段代码,搞清楚每一段代码的来龙去脉,理解每一段代码在程序中所起的作用,进而形成一个虚拟的程序结构,并以此为基础来进行阅读。 1、分层读:高层入手,逐层深入,正确理解程序。 2、写注解:固化、总结、提炼已有的理解成果。 3、先模拟:根据代码顺序跟踪变量,模拟运算。 4、找规律:先模拟几次循环后,找出背后的规律。 5、看功能:从代码结构和运算结果判断程序功能。 6、猜算法:有时不知道算法,通过结构和函数猜一猜。 7、换方法:了解程序本质后,换一个熟悉的方法试试。 对大多数人来说,写程序是令人开心的一件事情,读别人的程序却很痛苦,很恐惧,宁愿自己重写一遍。其实读到好的程序,就像读一篇美文,令人心旷神怡,豁然开朗,因为这背后是一个人的思维,甚至整个人生。 阅读别人的程序不仅可以巩固自己的知识,启发自己的思维,提升自己的修养,让你收获满满,其实,这也是在学习、在竞赛、在工作中的最重要、最常用的基本功。 如果说写程序是把自己的思维转化为代码,读程序就是把代码转化为你理解的别人的思维。当你阅读程序时有强烈的代入感,像演员一样,真正进入到编剧的精神世界,面部表情也随之日渐丰富起来。祝贺你!你通关了! 总之,看得多,码得多,拼得多,你就考得多…… NOIP2011-1. #include #include using namespace std;

NOIP2005提高组试题

NOIP2005复赛提高组试题 第十一届全国青少年奥林匹克信息学联赛复赛提高组试题 (提高组三小时完成) 谁拿了最多奖学金(scholar.pas/c/cpp) 【问题描述】 某校的惯例是在每学期的期末考试之后发放奖学金。发放的奖学金共有五种,获取的条件各自不同: 1) 院士奖学金,每人8000元,期末平均成绩高于80分(>80),并且在本学期内发表1篇或1篇以上论文的学生均可获得; 2) 五四奖学金,每人4000元,期末平均成绩高于85分(>85),并且班级评议成绩高于80分(>80)的学生均可获得; 3) 成绩优秀奖,每人2000元,期末平均成绩高于90分(>90)的学生均可获得; 4) 西部奖学金,每人1000元,期末平均成绩高于85分(>85)的西部省份学生均可获得; 5) 班级贡献奖,每人850元,班级评议成绩高于80分(>80)的学生干部均可获得;只要符合条件就可以得奖,每项奖学金的获奖人数没有限制,每名学生也可以同时获得多项奖学金。例如姚林的期末平均成绩是87分,班级评议成绩82分,同时他还是一位学生干部,那么他可以同时获得五四奖学金和班级贡献奖,奖金总数是4850元。 现在给出若干学生的相关数据,请计算哪些同学获得的奖金总数最高(假设总有同学能满足获得奖学金的条件)。 【输入文件】 输入文件scholar.in的第一行是一个整数N(1 <= N <= 100),表示学生的总数。接下来的N行每行是一位学生的数据,从左向右依次是姓名,期末平均成绩,班级评议成绩,是否是学生干部,是否是西部省份学生,以及发表的论文数。姓名是由大小写英文字母组成的长度不超过20的字符串(不含空格);期末平均成绩和班级评议成绩都是0到100之间的整数(包括0和100);是否是学生干部和是否是西部省份学生分别用一个字符表示,Y表示是,N表示不是;发表的论文数是0到10的整数(包括0和10)。每两个相邻数据项之间用一个空格分隔。【输出文件】 输出文件scholar.out包括三行,第一行是获得最多奖金的学生的姓名,第二行是这名学生获得的奖金总数。如果有两位或两位以上的学生获得的奖金最多,输出他们之中在输入文件中出现最早的学生的姓名。第三行是这N个学生获得的奖学金的总数。 【样例输入】 4 YaoLin 87 82 Y N 0 ChenRuiyi 88 78 N Y 1 LiXin 92 88 N N 0 ZhangQin 83 87 Y N 1 【样例输出】 ChenRuiyi 9000 28700 过河(river.pas/c/cpp)

solution day2题解

全国青少年奥林匹克联赛(NOIP2011)复赛模拟 提高组Day2 (请选手务必仔细阅读本页内容) 注意事项: 1. 2. C/C++中函数main()的返回值类型必须是int,程序正常结束时的返回值必须是0。 3. 全国统一评测时采用的机器配置为:CPU P4 1.9GHz,内存1G,上述时限以此配置为准。各省在自测时可根据具体配置调整时限。

(at.pas/c/cpp) 【原题解】 lca,从叶子开始做,每次减~或dfs序+树状数组。 【暴力算法】 考虑到部分数据k比较小,我们可以用f[i][j]表示i为根的子树中与i距离为j的结点的个数,可以树形DP求解。 期望得分:60。 【笔者补充】 题目实际上是求每个结点深度差不超过K的儿子个数。 由于涉及到方面有:深度、子树求和,大概思路可以想到是先预处理,然后按深度从大到小增删点,再查询某子树有多少个点。 增删点的过程可以通过给点设权值来实现,1表示这个点存在,0表示不存在。那么查询某子树有多少个点就相当于是对某个子树中点的权值进行求和。 与子树相关可用dfs序,修改和求和可以用树状数组实现。

(Poker.pas/c/cpp) 【题目简述】 ΣAi*Xi=n | Ai∈[1,4] & Xi>Xi-1 & ΣXi=k &Ai,Xi,n,k∈N 求解{Xi}的个数 mod 1,000,000,009。 【算法1】 输出n,不解释。。。 期望得分:10。 【算法2】 利用上式对Ai和Xi进行搜索,同样不解释。。。 期望得分:20。 【算法3】 把牌按数值大小编号,数值相同的编上4个不同号码。 用f[i][j][k]表示现在处理完前i张牌,一共用了j张,构成和为k的方案数。转移只要使用类似背包的方法即可。 方程为:f’[i][j][k]=f[i][j][k]+Σf[i-1][j-1][k-w(i)]。 其中w(i)为i的牌面。 为免MLE,可把第一维省去。 期望得分:40。 【算法4】 这是Symbol提出来的方法。 如果现在所有的牌面都大于1,假设有k’张,那么把所有牌面都减小1,总和减少k’之后,问题显然是等价的;而如果有牌面等于1,那么只要把这几张牌去掉,剩下的牌面就又都是大于1的了。 所以可以使用f[i][j]表示用j张牌构成和为i的方案数,转移的时候分情况:1)所有牌面大于1,则f[i][j]+=f[i-j][j];2)有牌面等于1,那么我们可以枚举这些牌的数量t(≤4),则f[i][j]+=f[i-j][j-t]。 最后答案就是f[n][1~k]的最小值。 时间复杂度为O(nk)。 期望得分:60。 【算法5】 对算法4进行优化,考虑到k比较小,而转移只需要用到前k层的值。 我们可以把连续k层的f压在一个矩阵内,并按一维编号,最多不超过k^2个。然后我们每次转移1层的f,也就是如果现在矩阵记录的是f[1~k][]的值,那么转移一次,矩阵记录的就变成了f[2~k+1][]的值。然后填矩阵就是了。 时间复杂度为O(logn*k^6),多组数据下,这个方法会由于常数大被卡掉。 期望得分:80。

NOIP2015第二题--扫雷游戏

2.扫雷游戏 (mine.cpp/c/pas) 【问题描述】 扫雷游戏是一款十分经典的单机小游戏。在n行m列的雷区中有一些格子含有地雷(称之为地雷格),其他格子不含地雷(称之为非地雷格)。玩家翻开一个非地雷格时,该格将会出现一个数字——提示周围格子中有多少个是地雷格。游戏的目标是在不翻出任何地雷格的条件下,找出所有的非地雷格。 现在给出n行m列的雷区中的地雷分布,要求计算出每个非地雷格周围的地雷格数。 注:一个格子的周围格子包括其上、下、左、右、左上、右上、左下、右下八个方向上与之直接相邻的格子。 【输入格式】 输入文件名为mine.in。 输入文件第一行是用一个空格隔开的两个整数n和m,分别表示雷区的行数和列数。 接下来n行,每行m个字符,描述了雷区中的地雷分布情况。字符’*’表示相应格子是地雷格,字符’?’表示相应格子是非地雷格。相邻字符之间无分隔符。 【输出格式】 输出文件名为mine.out。 输出文件包含n行,每行m个字符,描述整个雷区。用’*’表示地雷格,用周围的地雷个数表示非地雷格。相邻字符之间无分隔符。 【输入输出样例1】 见选手目录下的mine/mine1.in和mine/mine1.ans。 。 【输入输出样例3】 见选手目录下的mine/mine3.in和mine/mine3.ans。 【数据说明】 对于100%的数据,1≤n≤100,1≤m≤100。 源程序: program mine; const movei:array[1..8] of integer=(0,1,1,1,0,-1,-1,-1); movej:array[1..8] of integer=(1,1,0,-1,-1,-1,0,1); var n,m,i,j:integer; map:array[1..100,1..100] of char; procedure print; vark,ans,ii,jj:integer; begin ans:=0;

Noip2015年初赛提高组C试题和答案解析[完整版]

Noip2014初赛提高组试题及答案(完整版) 提高组C语言试题 一、单项选择题(每题1.5分,共22.5分)。 1. 以下哪个是面向对象的高级语言( ). A. 汇编语言 B. C++ C. FORTRAN D. Basic 2. 1TB代表的字节数量是( ). A. 2的10次方 B. 2的20次方 C. 2的30次方 D. 2的40次方 3. 二进制数00100100和00010101的和是( ). A. 00101000 B. 001010100 C. 01000101 D. 00111001 4. TCP协议属于哪一层协议( ). A. 应用层 B. 传输层 C. 网络层 D. 数据链路层 5. 下列几个32位IP地址中,书写错误的是( ). A. 162.105.128.27 B. 192.168.0.1 C. 256.256.129.1 D. 10.0.0.1 6. 在无向图中,所有定点的度数之和是边数的( )倍. A. 0.5 B. 1 C. 2 D. 4 7. 对长度位n的有序单链表,若检索每个元素的概率相等,则顺序检索到表中任一元素的平均检索长度为( ). A. n/2 B. (n+1)/2 C. (n-1)/2 D. n/4 8. 编译器的主要功能是( ). A. 将一种高级语言翻译成另一种高级语言 B. 将源程序翻译成指令 C. 将低级语言翻译成高级语言 D. 将源程序重新组合 9. 二进制数111.101所对应的十进制数是( ). A. 5.625 B. 5.5 C. 6.125 D. 7.625 10. 若有变量int a, float x, y, 且a=7, x=2.5, y=4.7, 则表达式 x+a%3*(int)(x+y)%2/4的值大约是( ). A. 2.500000 B. 2.750000 C. 3.500000 D. 0.000000 11. 有以下结构体说明和变量定义,如图所示,指针p、q、r分别指向一个链表中的三个续 结点。 struct node { data next data next data next int data; struct node *next; ↑ p ↑ q ↑ r } *p,*q,*r; 现要将q和r所指结点的先后位置交换,同时要保持链表的连续,以下程序段中错误的是( ). A. q->next = r->next; p-> next = r; r->next = q; B. p->next = r; q->next = r->next; r->next = q; C. q->next = r->next; r->next = q; p->next = r; D. r->next = q; q->next = r->next; p->next = r; 12. 同时查找2n 个数中的最大值和最小值,最少比较次数为( ). A. 3(n-2)/2 B. 4n-2 C. 3n-2 D. 2n-2

信息学奥林匹克联赛命题

全国青少年信息学奥林匹克 联赛大纲 一、总则 由中国计算机学会负责组织的全国青少年信息学奥林匹克联赛(NOIP)是全国信息学奥林匹克竞赛(NOI)整个系列中的一个重要组成部分,旨在向中学生普及计算机基础知识,培养计算机科学和工程领域的后备人才。普及的重点是根据中学生的特点,培养学生学习计算机的兴趣,使得他们对信息技术的一些核心内容有更多的了解,提高他们创造性地运用程序设计知识解决实际问题的能力。对学生的能力培养将注重以下的几个方面: ●想象力与创造力; ●对问题的理解和分析能力; ●数学能力和逻辑思维能力; ●对客观问题和主观思维的口头和书面表达能力; ●人文精神:包括与人的沟通能力,团队精神与合作能力,恒心和毅力,审美能力等。 二、命题程序和组织机构 命题是选拔过程的重要一环,同时对计算机的普及的内容起着导向性的作用。命题应注重趣味性、新颖性、知识性、应用性和中学生的心智特点,不直接从大学专业教材中选题。 在命题和审题工作中,坚持开放和规范的原则。在NOI科学委员会主持下成立的联赛命题委员会负责命题工作,命题委员会成员主要来自参加联赛的省(包括直辖市、自治区,下同。每个省最多派一名委员),也可来自社会计算机界。联赛命题委员会的主要职责是提供联赛的备选题目,并承担对所提供的题目保密的责任。 1.联赛命题委员会委员应具备如下资格: ●从事一线计算机教学或信息学奥赛辅导工作两年(含)以上; ●有精力和时间从事该项工作; ●对此项工作有兴趣并愿意作为志愿者从事NOIP命题及其相关工作。 2.联赛命题委员会委员的产生过程: ●本人提出申请(填写表格); ●中学教师需所在单位同意或省奥赛主管部门同意; ●科学委员会批准,由中国计算机学会颁发聘书(每一聘期为两年)。 3.联赛命题委员会委员的职责: ●每年为NOIP提供备选题题目若干,在9月1日之前提交科学委员会; ●备选试题的保密期为2年,在该段时间内不得泄密或另作他用; ●搜集本省信息学奥赛的有关信息并向科学委员会通报; 题目一经提交,即表明同意授权中国计算机学会科学委员会全权处理,包括使用、修改和出版。无论是委员提交的题目还是科学委员会直接提交的题目,试题版权均归中国计算机学会所有,试题原型一旦被正式采用,中国计算机学会将出具试题录用证明。科学委员会确定当年的联赛试题,这些试题可能从备选题库中选取并做适当修改后成型,也可能直接命题。

全国信息学奥林匹克竞赛NOIP试题汇总

2002年全国青少年信息学(计算机)奥林匹克分区联赛复赛试题 题一级数求和(存盘名:NOIPC1) [问题描述]: 已知:Sn= 1+1/2+1/3+…+1/n。显然对于任意一个整数K,当n足够大的时候,Sn大于K。 现给出一个整数K(1<=k<=15),要求计算出一个最小的n;使得Sn>K。[输入] 键盘输入 k [输出] 屏幕输出 n [输入输出样例] 输人:1 输出:2 题二选数(存盘名:NOIPC2) [问题描述]: 已知 n 个整数x1,x2,…,xn,以及一个整数 k(k<n)。从 n 个整数中任选 k 个整数相加,可分别得到一系列的和。例如当 n=4,k=3,4 个整数分别为 3,7,12,19 时,可得全部的组合与它们的和为: 3+7+12=22 3+7+19=29 7+12+19=38 3+12+19=34。现在,要求你计算出和为素数共有多少种。 例如上例,只有一种的和为素数:3+7+19=29)。 [输入]: 键盘输入,格式为: n , k (1<=n<=20,k<n) x1,x2,…,xn (1<=xi<=5000000) [输出]: 屏幕输出,格式为: 一个整数(满足条件的种数)。 [输入输出样例]: 输入: 4 3 3 7 12 19 输出: 1 题三产生数(存盘名:NOIPC3)

[问题描述]: 给出一个整数 n(n<10^30) 和 k 个变换规则(k<=15)。规则: 一位数可变换成另一个一位数: 规则的右部不能为零。 例如:n=234。有规则(k=2): 2-> 5 3-> 6 上面的整数 234 经过变换后可能产生出的整数为(包括原数): 234 534 264 564 共 4 种不同的产生数 问题: 给出一个整数 n 和 k 个规则。 求出: 经过任意次的变换(0次或多次),能产生出多少个不同整数。仅要求输出个数。 [输入]: 键盘输人,格式为: n k x1 y1 x2 y2 ... ... xn yn [输出]: 屏幕输出,格式为: 一个整数(满足条件的个数): [输入输出样例]: 输入: 234 2 2 5 3 6 输出: 4 题四过河卒(存盘名:NOIPC4)

【精选资料】NOIP提高组复赛试题与简解转载

Day1 铺地毯 【问题描述】 为了准备一个独特的颁奖典礼,组织者在会场的一片矩形区域(可看做是平面直角坐标系的第一象限)铺上一些矩形地毯。一共有n 张地毯,编号从1 到n。现在将这些地毯按照编号从小到大的顺序平行于坐标轴先后铺设,后铺的地毯覆盖在前面已经铺好的地毯之上。地毯铺设完成后,组织者想知道覆盖地面某个点的最上面的那张地毯的编号。注意:在矩形地毯边界和四个顶点上的点也算被地毯覆盖。【输入】 输入文件名为 carpet.in。 输入共 n+2 行。 第一行,一个整数 n,表示总共有n 张地毯。 接下来的 n 行中,第i+1 行表示编号i 的地毯的信息,包含四个正整数a,b,g,k,每两个整数之间用一个空格隔开,分别表示铺设地毯的左下角的坐标(a,b)以及地毯在x轴和y 轴方向的长度。 第 n+2 行包含两个正整数x 和y,表示所求的地面的点的坐标(x,y)。 【输出】 输出文件名为 carpet.out。 输出共 1 行,一个整数,表示所求的地毯的编号;若此处没有被地毯覆盖则输出-1。 【输入输出样例 1】 【输入输出样例说明】 如下图,1 号地毯用实线表示,2 号地毯用虚线表示,3 号用双实线表示,覆盖点(2,2)的最上面一张地毯是3 号地毯。

【输入输出样例 2】 【输入输出样例说明】 如上图,1 号地毯用实线表示,2 号地毯用虚线表示,3 号用双实线表示,点(4,5)没有被地毯覆盖,所以输出-1。 【数据范围】 对于 30%的数据,有n≤2; 对于 50%的数据,0≤a, b, g, k≤100; 对于 100%的数据,有0≤n≤10,000,0≤a, b, g, k≤100,000。 【一句话题意】 给定n个按顺序覆盖的矩形,求某个点最上方的矩形编号。 【考察知识点】 枚举 【思路】 好吧我承认看到图片的一瞬间想到过二维树状数组和二维线段树。

第十六届全国青少年信息学奥林匹克联赛复赛试题

第十六届全国青少年信息学奥林匹克联赛复赛试题 (NOIP2010提高组) NOIP2010提高组复赛第一题机器翻译(Trasnlate) 小晨的电脑上安装了一个机器翻译软件,他经常用这个软件来翻译英语文章。这个翻译软件的原理很简单,它只是从头到尾,依次将每个英文单词用对应的中文含义来替换。对于每个英文单词,软件会先在内存中查找这个单词的中文含义,如果内存中有软件就会用它进行翻译;如果内存中没有,软件就会在外存中的词典内查找,查出单词的中文含义然后翻译,并将这个单词和译义放入内存,以备后续的查找和翻译。 假设内存中有 M 个单元,每单元能存放一个单词和译义。每当软件将一个新单词存入内存前,如果当前内存中已存入的单词数不超过 M-1,软件会将新单词存入一个未使用的内存单元;若内存中已存入 M 个单词,软件会清空最早进入内存的那个单词,腾出单元来,存放新单词。 假设一篇英语文章的长度为 N个单词。给定这篇待译文章,翻译软件需要去外存查找多少次词典?假设在翻译开始前,内存中没有任何单词。 【输入】输入文件名为 translate.in,输入文件共 2 行。每行中两个数之间用一个空格隔开。第一行为两个正整数 M和 N,代表内存容量和文章的长度。第二行为 N 个非负整数,按照文章的顺序,每个数(大小不超过 1000)代表一个英文单词。文章中两个单词是同一个单词,当且仅当它们对应的非负整数相同。 【输出】输出文件 translate.out 共1行,包含一个整数,为软件需要查词典的次数。【数据范围】对于 10%的数据有 M=1,N≤5。00%的数据有 0m then b[a[h-m]]:=false; end;//for writeln(sum); end.//main

noip2015提高组复赛试题答案

noip2015提高组复赛试题答案 一.单项选择题(共20题,每题1.5分,共计30分;每题有且仅有一个正确答案。) 1. 1MB等于()。 A. 1000字节 B. 1024字节 C. 1000?1000字节 D. 1024?1024字节 2. 在PC机中,PENTIUM(奔腾)、酷睿、赛扬等是指()。 A. 生产厂家名称 B. 硬盘型号 C. CPU的型号 D. 显示器的型号 3. 操作系统的作用是()。 A. 把源程序译成目标程序 B. 便于进行数据管理 C. 控制和管理系统资源 D. 实现硬件之间的连接 4. 在计算机内部用于传送、存贮、加工处理的数据或指令都是以()形式进行的。 A. 二进制码 B. 八进制码 C. 十进制码 D. 智能拼音码 5. 下列说法正确的是()。 A. CPU的主要任务是执行数据运算和程序控制 B. 存储器具有记忆能力,其中信息任何时候都不会丢失 C. 两个显示器屏幕尺寸相同,则它们的分辨率必定相同 D. 个人用户只能使用Wifi的方式连接到Internet 6.二进制数00100100和00010100的和是()。 A.00101000 B. 01110011 C.01000100 D. 00111000 7. 与二进制小数0.1相等的十六进制数是()。 A. 0.8 B. 0.4 C. 0.2 D. 0.1 8. 所谓中断是指()。 A. 操作系统随意停止一个程序的运行 B. 当出现需要时,CPU暂时停止当前程序的执行转而执行处理新情况的过程 C.因停机而停止一个程序的运行

D.电脑死机 9. 计算机病毒是()。 A. 通过计算机传播的危害人体健康的一种病毒 B. 人为制造的能够侵入计算机系统并给计算机带来故障的程序或指令集合 C.一种由于计算机元器件老化而产生的对生态环境有害的物质 D.利用计算机的海量高速运算能力而研制出来的用于疾病预防的新型病毒 10. FTP可以用于()。 A. 远程传输文件 B. 发送电子邮件 C. 浏览网页 D. 网上聊天 11.下面哪种软件不属于即时通信软件()。 A.QQ B.MSN C.微信 D.P2P 12. 6个顶点的连通图的最小生成树,其边数为()。 A. 6 B. 5 C. 7 D. 4 13.链表不具备的特点是()。 A.可随机访问任何一个元素 B.插入、删除操作不需要移动元素 C.无需事先估计存储空间大小 D.所需存储空间与存储元素个数成正比 14.线性表若采用链表存储结构,要求内存可用存储单元地址()。 A. 必须连续 B. 部分地址必须连续 C. 一定不连续 D. 连续不连续均可 15. 今有一空栈S,对下列待进栈的数据元素序列a,b,c,d,e,f依次进行进栈,进栈,出栈,进栈,进栈,出栈的操作,则此操作完成后,栈S的栈顶元素为()。 A. f B. c C. a D. b 16. 前序遍历序列与中序遍历序列相同的二叉树为()。 A.根结点无左子树的二叉树 B.根结点无右子树的二叉树 C.只有根结点的二叉树或非叶子结点只有左子树的二叉树 D.只有根结点的二叉树或非叶子结点只有右子树的二叉树 17. 如果根的高度为1,具有61个结点的完全二叉树的高度为()。 A. 5 B. 6 C. 7 D. 8 18. 下列选项中不属于视频文件格式的是()。

最新noip提高组试题(day1+day2) word版

精品资料 n o i p提高组试题(d a y1+d a y2)w o r d 版 ........................................

CCF 全国信息学奥林匹克联赛(NOIP2017)复赛 提高组 day1 (请选手务必仔细阅读本页内容) 一.题目概况 注意事项: 1、文件名(程序名和输入输出文件名)必须使用英文小写。 2、C/C++中函数 main()的返回值类型必须是 int,程序正常结束时的返回值必须是 0。

3、全国统一评测时采用的机器配置为:CPU AMD Athlon(tm) II x2 240 processor,2.8GHz, 内存 4G,上述时限以此配置为准。 4、只提供 Linux 格式附加样例文件。 5、提交的程序代码文件的放置位置请参照各省的具体要求。 6、特别提醒:评测在当前最新公布的 NOI Linux 下进行,各语言的编译器版本以其为准。

【问题描述】 1.小凯的疑惑(math.cpp/c/pas) 小凯手中有两种面值的金币,两种面值均为正整数且彼此互素。每种金币小凯都有无数个。在不找零的情况下,仅凭这两种金币,有些物品他是无法准确支付的。现在小凯想知道在无法准确支付的物品中,最贵的价值是多少金币?注意:输入数据保证存在小凯无法准确支付的商品。 【输入格式】 输入文件名为math.in。 输入数据仅一行,包含两个正整数a 和b,它们之间用一个空格隔开,表示小凯手中金币的面值。 【输出格式】 输出文件名为math.out。 输出文件仅一行,一个正整数N,表示不找零的情况下,小凯用手中的金币不能准确支付的最贵的物品的价值。 【输入输出样例1】 math/math1.in math/math1.ans 【输入输出样例1 说明】 小凯手中有面值为3 和7 的金币无数个,在不找零的前提下无法准确支付价值为1、2、4、5、8、11 的物品,其中最贵的物品价值为11,比11 贵的物品都能买到,比如: 12 = 3 * 4 + 7 * 0 13 = 3 * 2 + 7 * 1 14 = 3 * 0 + 7 * 2 15 = 3 * 5 + 7 * 0 …… 【输入输出样例2】 见选手目录下的math/math2.in 和math/math2.ans。 【数据规模与约定】 对于30%的数据: 1 ≤ a,b ≤ 50。 对于60%的数据: 1 ≤ a,b ≤ 10,000。 对于100%的数据:1 ≤ a,b ≤ 1,000,000,000。

NOIP历年复赛提高组试题(2004-2021)

NOIP历年复赛提高组试题(2004-2021)

第十届全国信息学奥林匹克分区联赛(NOIP2004)复赛试题 (提高组竞赛用时:3小时) 1、津津的储蓄计划(Save.pas/dpr/c/cpp) 【问题描述】 津津的零花钱一直都是自己管理。每个月的月初妈妈给津津300元钱,津津会预算这个月的花销,并且总能做到实际花销和预算的相同。 为了让津津学习如何储蓄,妈妈提出,津津可以随时把整百的钱存在她那里,到了年末她会加上20%还给津津。因此津津制定了一个储蓄计划:每个月的月初,在得到妈妈给的零花钱后,如果她预计到这个月的月末手中还会有多于100元或恰好100元,她就会把整百的钱存在妈妈那里,剩余的钱留在自己手中。 例如11月初津津手中还有83元,妈妈给了津津300元。津津预计11月的花销是180元,那么她就会在妈妈那里存200元,自己留下183元。到了11月月末,津津手中会剩下3元钱。 津津发现这个储蓄计划的主要风险是,存在妈妈那里的钱在年末之前不能取出。有可能在某个月的月

初,津津手中的钱加上这个月妈妈给的钱,不够这个月的原定预算。如果出现这种情况,津津将不得不在这个月省吃俭用,压缩预算。 现在请你根据2004年1月到12月每个月津津的预算,判断会不会出现这种情况。如果不会,计算到2004年年末,妈妈将津津平常存的钱加上20%还给津津之后,津津手中会有多少钱。 【输入文件】 输入文件save.in包括12行数据,每行包含一个小于350的非负整数,分别表示1月到12月津津的预算。 【输出文件】 输出文件save.out包括一行,这一行只包含一个整数。如果储蓄计划实施过程中出现某个月钱不够用的情况,输出-X,X表示出现这种情况的第一个月;否则输出到2004年年末津津手中会有多少钱。 【样例输入1】 290 230

NOIP2013提高组复赛试题day1+day2

全国信息学奥林匹克联赛(2013)复赛 提高组 1 1.转圈游戏 () 【问题描述】 n 个小伙伴(编号从 0 到 1)围坐一圈玩游戏。按照顺时针方向给 n 个位置编号,从 0 到 1。最初,第 0 号小伙伴在第 0 号位置,第 1 号小伙伴在第 1 号位置,……,依此类推。 游戏规则如下:每一轮第 0 号位置上的小伙伴顺时针走到第m 号位置,第 1 号位置小伙伴走到第 1 号位置,……,依此类推,第n − m号位置上的小伙伴走到第 0 号位置,第1 号位置上的小伙伴走到第 1 号位置,……,第 1 号位置上的小伙伴顺时针走到第1 号位置。 现在,一共进行了 10k 轮,请问 x 号小伙伴最后走到了第几号位置。 【输入】 输入文件名为。 输入共 1 行,包含 4 个整数 n、m、k、x,每两个整数之间用一个空格隔开。 【输出】 输出文件名为。 输出共1 行,包含1 个整数,表示10k 轮后x 号小伙伴所在的

位置编号。 【输入输出样例】 10 3 4 5 5 【数据说明】 对于 30%的数据,0 < k < 7; 对于 80%的数据,0 < k < 107; 对于 100%的数据,1 < n< 1,000,000,0

NOIP提高组初赛历年试题及答案求解题篇

NOIP提高组初赛历年试题及答案求解题篇 LT

叶为止。当n=2时,平均一共跳2次;当n=3时,平均一共跳2.5次。则当n=5时,平均一共跳_________次。 NOIP2014-1.由数字1,1,2,4,8,8所组成的不同的四位数的个数是_________。 NOIP2014-2. 如图所示,图中每条边上的数字表示该边的长度,则从A 到E 的最短距离是_________。 NOIP2015-1. 在1 和2015 之间(包括1 和2015 在内)不能被4、5、6 三个数任意一个数整除的数有_________个。 NOIP2015-2. 结点数为5 的不同形态的二叉树一共有_________种。(结点数为2 的二叉树一共有2 种:一种是根结点和左儿子,另一种是根结点和右儿子。) NOIP2016-1. 一个1×8的方格图形(不可旋转)用黑、白两种颜色填涂每个方格。如果每个方格只能填涂一种颜色,且不允许两个黑格相邻,共有_________种填涂方案。

NOIP2016-2. 某中学在安排期末考试时发现,有7个学生要参加7门课程的考试,下表列出了哪些学生参加哪些考试(用√表示要参加相应的考试)。最少要安排_________个不同的考试时间段才能避免冲突? NOIP2011-1. 无向简单图问题 C(4,2)=6;C(5,2)=10。但这是“边仅在顶点上才能相交”的简单连通平面图,可手画该平面图计算边数,也可根据平面图的欧拉公式(v+f=e+2)推得的定理:设G为有v个顶点e条边的简单连通平面图,若v>=3,则e<=3v-6,计算得9。 NOIP2011-2 最长正序列问题 在普及组求解题中,我们介绍了列表求编辑距离的方法。这里我们也可以用更简便的方法——“最长上升子序列”法。原字符串的最长上升子序列为:ACEGI,剩下4个字符移动插入4次即可。

noip提高组复赛知识点

Noip提高组复赛知识点 1. 简介 NOIP(National Olympiad in Informatics in Provinces)是中国计算机学会主办 的全国性计算机竞赛。它分为初赛和复赛两个阶段,复赛则进一步分为提高组和普及组。本文将重点介绍NOIP提高组复赛的知识点。 2. 复赛知识点 2.1 数据结构 在NOIP提高组复赛中,对数据结构的理解和应用是非常重要的。以下是一些 常见的数据结构及其应用: 2.1.1 数组 数组是一种线性数据结构,可以在O(1)的时间复杂度内访问任意位置的元素。在复赛中,经常需要使用数组来解决一些简单的问题,如统计字符出现次数、记录中间结果等。 2.1.2 链表 链表是一种动态数据结构,它通过指针将多个节点连接起来。在复赛中,链表 常常用于实现一些特定的数据结构,如队列、栈等。 2.1.3 栈和队列 栈和队列是两种基本的数据结构。栈是一种后进先出(LIFO)的数据结构,而 队列是一种先进先出(FIFO)的数据结构。它们在复赛中的应用非常广泛,如深 度优先搜索(DFS)和广度优先搜索(BFS)等算法中常常使用栈和队列来辅助实现。 2.1.4 树和图 树和图是两种重要的非线性数据结构。树是一种层次结构,图是一种由节点和 边组成的网络结构。在复赛中,树和图常常用于解决一些复杂的问题,如最短路径、最小生成树等。 2.2 算法和技巧 在NOIP提高组复赛中,算法和技巧的掌握是至关重要的。以下是一些常见的 算法和技巧:

2.2.1 动态规划 动态规划是一种将复杂问题分解成简单子问题的方法,通过保存子问题的解来 避免重复计算。在复赛中,动态规划常常用于解决一些涉及最优化问题的算法。 2.2.2 贪心算法 贪心算法是一种每一步都选择当前最优解的算法。在复赛中,贪心算法常常用 于解决一些涉及最优解问题的算法,如最小生成树问题、最短路径问题等。 2.2.3 搜索算法 搜索算法是一种通过遍历问题的所有可能解空间来寻找解的方法。在复赛中, 搜索算法常常用于解决一些复杂的问题,如深度优先搜索(DFS)、广度优先搜索(BFS)等。 2.2.4 排序算法 排序算法是一种将一组数据按照某种特定顺序排列的算法。在复赛中,排序算 法常常用于解决一些需要对数据进行排序的问题,如查找中位数、查找第K大元 素等。 2.3 编程语言和工具 在NOIP提高组复赛中,掌握一种编程语言和一些常用的工具是必要的。以下 是一些常见的编程语言和工具: 2.3.1 C/C++ C/C++是NOIP竞赛中最常用的编程语言之一,它具有高效性和灵活性。掌握 C/C++语言的语法和常用库函数对于参加复赛非常重要。 2.3.2 Python Python是一种简单易学的编程语言,它具有丰富的第三方库和强大的数据处 理能力。在复赛中,Python常常用于解决一些需要大量数据处理的问题。 2.3.3 编译器和IDE 在NOIP提高组复赛中,选择一个合适的编译器和集成开发环境(IDE)对于 编写和调试程序非常重要。常用的编译器和IDE有GCC、Clang、Visual Studio等。 3. 总结 NOIP提高组复赛涵盖了广泛的知识点,包括数据结构、算法和编程语言等。 在备战复赛时,需要系统地学习和掌握这些知识点,并通过大量的实践来提高编程能力。希望本文对复赛的准备有所帮助。

NOIP2015提高组复赛试题Day1

全国信息学奥林匹克联赛〔2015〕复赛 提高组 1 〔请选手务必仔细阅读本页内容〕 一.题目概况 中文题目名称神奇的幻方信息传递斗地主 英文题目与子目录名 可执行文件名 输入文件名 输出文件名 每个测试点时限 1 秒 1 秒 2 秒 测试点数目101020 每个测试点分值1010 5 附加样例文件有有有 结果比拟方式全文比拟〔过滤行末空格及文末回车〕 题目类型传统传统传统 运行内存上限128M128M1G 二.提交源程序文件名 对于语言 对于 C 语言 对于语言 三.编译命令〔不包含任何优化开关〕 对于语言 对于 C 语言 对于语言 考前须知: 1、文件名〔程序名和输入输出文件名〕必须使用英文小写。 2、中函数 ()的返回值类型必须是,程序正常结束时的返回值必须是 0。 3、全国统一评测时采用的机器配置为: () x2 240 ,2.8,内存 4G,上述时限以此配置为准。 4、只提供格式附加样例文件。 5、特别提醒:评测在当前最新公布的下进行,各语言的编译器版本以其为准。

1.神奇的幻方 () 【问题描述】 幻方是一种很神奇的 N*N 矩阵:它由数字1,2,3, … … , N*N 构成,且每行、每列及两条对角线上的数字之和都相同。 当N为奇数时,我们可以通过以下方法构建一个幻方: 首先将 1 写在第一行的中间。 之后,按如下方式从小到大依次填写每个数K( 2,3, … , N*N ): 1.假设 (K−1) 在第一行但不在最后一列,那么将K填在最后 一行,(K− 1) 所在列的右一列; 2.假设 (K− 1) 在最后一列但不在第一行,那么将K填在第 一列,(K− 1) 所在行的上一行; 3.假设 (K− 1) 在第一行最后一列,那么将K填在 (K− 1) 的正下方; 4.假设 (K− 1) 既不在第一行,也不在最后一列,如果 (K− 1) 的右上方还未填数,那么将K填在(K− 1)的右上方, 否那么将K填在 (K− 1) 的正下方 现给定N,请按上述方法构造 N*N 的幻方。 【输入格式】 输入文件名为。 输入文件只有一行,包含一个整数N,即幻方的大小。 【输出格式】 输出文件名为。 输出文件包含N行,每行N个整数,即按上述方法构造出的 N*N的幻方。相邻两个整数之间用单个空格隔开。 【输入输出样例 1】 3 8 1 6 3 5 7 4 9 2 见选手目录下的 1 和 1。 【输入输出样例 2】 见选手目录下的 2 和 2。

相关文档
最新文档