ImageVerifierCode 换一换
格式:DOCX , 页数:28 ,大小:36.88KB ,
资源ID:17277252      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/17277252.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(全民编程76道高难度C练习题含NOI竞赛题欢迎挑战Word文档下载推荐.docx)为本站会员(b****6)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

全民编程76道高难度C练习题含NOI竞赛题欢迎挑战Word文档下载推荐.docx

1、*/#include#define N 20void main() int k= 0,count=0,t=0,time; for(int i=0;iN;i+) for(int j=0;jj+) if(i=0 | i=N-1 | j=0 | j= N-1) cout; else if(i=1 | i=N-2 | j=1 | j= N-2) cout else if( k=i-2 & iN/2) | (k=N/2) ) cout0) coutcount;time-; else if(i=N/2 & N%2!=0) cout-count; else coutcount-; coutendl; k=

2、0; count=0; 4. 在行列的数阵中, 数()在每行和每列中出现且仅 出现一次,这样的数阵叫阶拉丁方阵。例如下图就是一个五阶拉丁方阵。 编一程序,从键盘输入值后,打印出所有不同的阶拉丁方阵,并统计个数。 1 2 3 4 5 2 3 4 5 1 3 4 5 1 2 4 5 1 2 3 5 1 2 3 4 5. 输入一个十进数,将其转换成 N 进制数(0N=16)。 6. 矩阵中填数. 当给出 N*N 的矩阵,要求用程序填入下列形式的数: 倒填,例如N=5 蛇形填数 回转填数 2524232221 1 3 41011 116151413 2019181716 2 5 91219 21724

3、2312 1514131211 6 8131820 318252211 10 9 8 7 6 714172124 419202110 5 4 3 2 1 1516222325 5 6 7 8 9 7. 读入一行文本,包含若干个单词(以空格间隔,结尾)。将其中以 A 开头的 单词与以 N 结尾的单词,用头尾交换的办法予以置换。 8. 输入两个正整数,将,化为二进制数,然后将这两个二进制数作二进 制加法运算,再将结果化为十进制数输出。 9. 四人玩火柴棍游戏,每一次都是三个人赢,一个人输。输的人要按赢者手中的火柴 数进行赔偿,即赢者手中有多少根火柴棍,输者就赔偿多少根。现知道玩过四次后, 每人恰好

4、输过一次, 而且每人手中都正好有根火柴。问此四人做游戏前手中各有 多少根火柴? 编程解决此问题。x,y,z,kk=5 10 20 40 16z=9 18 36 8 16y=17 34 4 8 16x=33 2 4 8 16 10. 如图所示,编写程序计算 大大小小正方形共有多少?当最小 正方行边长为时,它们的总面积 共为多少? 11. 巧排数字。将、这个数排成一排,使得相邻的两个数之 和为一个素数,且首尾两数字之和也为一个素数。编程打印出所有的排法。 12. 下图是一个集装箱仓库,阴影部分表示有集装箱存放不能通过,无阴影处为临时通 道。当有人要从入口处到达出口处时,必须寻找可通过路线,请你找出

5、可完成这个过程 的最方便(即用最短路线)到达出口处的路径。 入口 出口 13. 有N个硬币(N为偶数)正面朝上排成一排,每次将 N-1 个硬币翻过来放在原位 置, 不断地重复上述过程,直到最后全部硬币翻成反面朝上为止。编程让计算机把 翻币的最简过程及翻币次数打印出来(用代表正面,O 代表反面)。 14. 有黑白棋子各有个(分别用和代替),按下图方式排列 个黑棋 个白棋 允许将相邻两个棋子互换位置,最后使队形成黑白交替排列,试编程实现该操作。 15. 已知个城市,用i,j表示从城市到城市是否有单向的直达汽车 (= 0), 每件物品价值为 V1,.VN (Vi0)。用这N件物品的某个子集 填空背包

6、,使得所取物品的总重量=TOTAL,并设法使得背包中物品的价值尽可 能高。 20. (皇后) 在国际象棋的棋盘上放置个皇后,使其不能互相攻击,即任意 两个皇后不能处在棋盘的同一行,同一列,同一斜线上,试问共有多少种摆法? 21. 请设计一个程序,由计算机把.的八个自然数填入图中,使得横、 竖、对角任何两个相邻的小方格中的两个数是不连续的。(下图右侧的 4 个图 为禁止的情形). 22. 在一个的小方格(如图所示)中放置个号,使得每行每列放且 仅放两个号。 求出所有的基本解。 23. (覆盖问题) 有边长为(为偶数)的正方形,请你用个长为, 宽为的长方形,将它全部覆盖。编程打印出所有覆盖方法。如

7、: 24. 某地街道把城市分割成矩形方格,每一方格叫作块,某人从家中出发上班, 向东要走块,向北要走块,(见图)。请设计一个程序,由计算机寻找并 打印出所有的上班的路径。 单位 家 25. (量水) 用存水为,升的两个罐子,量出升水。 26. (八数码问题) 个编有数码的滑牌,能在的井字格中滑动。 井字格中有一格是空格,用表示,因而空格周围的数码滑牌都可能滑到空格中去. 下图是数码滑牌在井字格中的两种状态: 2 8 3 1 2 3 1 6 4 8 0 4 7 0 5 7 6 5 初始状态 目标状态 以左图为初始状态,右图为目标状态,请找出从初始状态到目标状态的滑牌移步 序列,具体要求: ()输

8、入初始状态和目标状态的数据; 、分别用两行输入上述两项数据: 例:Enter the initial state:2 8 3 1 6 4 7 0 5 Enter the final state:1 2 3 8 0 4 7 6 5 、对输入数据应有查错和示错功能; ()实现从初始状态到目标状态的转换(如不能实现,程序应输出不能实现 的提示信息); ()输出结果,每移动一步都必须在屏幕上显示: 、移动每一步时的序号,最后一步的序号即为移动总步数; 、每一步移动后以表格形式显示状态。 ()要求能使移动步数尽可能少; 27. 给出一个有个格子的表格,除个格子外,每个格子中可放入一个数字,这 些数字取自

9、自然数 1 到 5,放入格子中的数字不得相同,剩余的个格子是空格 (用表示)。图是一个放数字与空格的特例。现要求编程实现从初始表格状态 变化到目标表格状态。初始状态和目标状态都是可变的(图,图所示的状态仅 是一个特例),由键盘输入格子中的数字()。 移动规则: (1) 每一个数字只可以通过虚线移入相邻空格。如图中,允许“”左移入空 格,而不能上移进入上面空格。 (2) 只允许水平移动或垂直移动,不允许斜移。 (3) 移动后,该数字原先所在的格子变成空格。 实现目标: (1) 输入初始表格状态和目标表格状态的数据。 分别在一行内输入上述两项数据; 对输入的数据应有查错和报错功能; (2) 实现从

10、初始状态到目标状态的转换(如不能实现也应给出必要的说明)。 (3) 显示结果:每移动一步都应在屏幕上有如下信息: 显示每一步移动的序号。所以最后一步的序号就是移动的总步数。 显示每一步移动前后的表格状态。 (4) 以最少的移动步数达到目标。 图 图 初始状态 目标状态 28. 枚银币 C1,C2,.,Cn, 其中有一块不合格,不合格的银币比正常的要重。现用 一天平找出不合格的一块,要求在最坏的情况下,用的天平次数最少。 29. 把一段文章按要求排版。文章的输入方式为:由键盘输入一段以回车符结束的文章 (最大长度 2000 个字符)。排版时以单词为基本单位。单词由不含空格的任意字符组 成,是长度

11、小于个字符的串。空格符是分隔单词的唯一字符,在输入时连续的空格 符在处理时应先化简为单个空格符。在排版前应先输入,排版后每行的字符数为,排 版后将整理好的文章按行输出。输出时不能将一个完整的单词截断,并要求输出的总行 数最小。将每个不足个字符的行用空格补足,填充空格符的方式有以下三种。 )将填充的空格符置于每行的末尾,并要求每行的起始为单词。 )将填充的空格符置于每行的开始,并要求每行的末尾为单词。 )将填充的空格符平均分配在每行中,并保证行的起始和末尾均为单词。 30. 某机要部门安装了电子锁。个工作人员每人发一张磁卡,卡上有开锁的密码特征。 为了确保安全,规定至少要有个人同时使用各自的磁卡

12、才能将锁打开。问电子锁上至 少要有多少种特征? 每个人的磁卡上至少要有多少特征? 如果特征的编号以小写英文字 母表示,将每个人的磁卡的特征编号打印出来,要求输出的电子锁的总特征数最少。 设 3=M=7, 1=N=4, 与由键盘输入,工作人员编号用 1#,2#,.表示. 31. 甲乙两人从枚棋子中轮流取子,甲先取,规定每次所取的枚数不能多于上 一个人所取的枚数,也不可不取。 ()甲第一次取多少枚才能保证甲取得最后一枚,当然,他也不能第一次就把 所有棋子都取走。 ()讨论棋子总数(一定是偶数)从到的各种情况。讨论内容包括: 对各个,是否存在一个小于的枚数,甲第一次取枚后就能保证甲如果策略 正确,一

13、定能取到最后一枚棋子。 32. ( 走棋 ) 一个的方阵如图。有一个小卒从上往下走。走至格子后就 不能走动,走至后,若下方为,则向左或向右走,下方为,则向下走。求所 有走法。 1 0 0 0 0 0 1 0 0 1 0 0 33. ( 野人与传教士 ) 设有三个传教士和三个野人来到河边,打算乘一只船从右 岸渡到左岸去。该船最大负载能力为两人,在任何时候,如果野人人数超过传教士 人数,那么野人就会把传教士吃掉。他们怎样才能用这条船安全地把所有人都渡过 河去呢? 34. ( 取棋子 ) 设有颗棋子,由人和计算机轮流从中取走若干颗。每方每次最 多取颗,最少取颗 (值不能超过总数的一半,也不能小于)。

14、试编写一程 序使计算机有较多的获胜机会。 屏幕输入提示: (1) 输入竞赛规则:A. 取最后一颗棋子的那一方为败. B. 取最后一颗棋子的那一方为胜. (2) 总共有多少颗棋子? (3) 一次最多取几颗? (4) 谁先取? (5) 每个回合都应显示: A. 你取几颗? B. 我取走.颗,还剩.颗. (6) 竞赛过程中发生违例时,打印出: 竞赛无法进行下去! (7) 竞赛结束后打印: I win!(我胜!)或 You win!(你胜!)。 35. ( Grundy博弈 ) 在两位选手面前放着一堆铜币。第一位选手把原堆分成不相 等的两堆。然后每个选手轮流地这样做,即当轮到某一方分时, 他把已被分开

15、的任 一堆再分成不相等的两堆。博弈这样一直进行下去,直到每一堆都只剩下一个或两 个铜币为止,这时博弈结束。规定首先遇到这种情况的选手为输。 36. 猴子选大王: N 只猴子站成一行,每隔 M 只从头到尾报数,反复进行,报过数的退出,打 印每次退出的猴子的编号,直到剩下一只为止。 N 只猴子站成一行,每 M 只报数。先从头到尾,报到尾后,再返回从尾到头 报数,打印每次方向及过程,直到剩下二只时,以排到后面的(指报数方向)为大王。 N 只猴子围成一圈,从第 P 个开始,每隔 M 只报数,打印每次过程,只剩下 一个时为大王。 37. 已知 N 个正整数满足 K1+K2+.+Kn=M。求一组最佳的分解

16、,使得 K1*K2*.*Kn 为最大。 例如:N=2时,给定 K1+K2=6,当 K1=3,K2=3 时,K1*K2=9 为最大 38. 有一集合中有 N 个元素,每个元素均为自然数。给定一个 total (假设每个 元素值均小于total),求满足条件的所有子集,子集中各元素之和应等于total。 39. 一个集合满足如下条件: (1)是集合的元素; (2) 若 P 是集合的元素,则 2*P+1,4*P+5 也是集合的元素。 求:此集合中最小的 K 个元素。 对作全排列而得的六个三位数之和为 2886。 40. 一个整型变量只能用来存贮较小的 N!的值,当 N 较大时,可将阶乘值中的 每一个

17、数字放在一个一维数组的一个元素中。使用这方法,打印: !的值; !(); ! 41. (合并链表) 已知两个链表 AN=a1,a2,.an, BN=b1,b2,.bm, 将其合并 为一个链表 CN=a1,b1,a2,b2,. 42. (算术表达式求值) 输入一个由数字、+,-,*,/ 及括号组成的算术表达式, 求其值。 43. 对于次数很高,但项目很少的多项式,可用链表来表示。X100076*X763*X37可表示为 1 1000 -76 78 3 3 -70 NIL 在此方式下,编程完成两个多项式的加法与乘法。 44. (一元多项式加法) 实现两个整系数一元多项式的加法。例如, 对于多项式 5*X64*X37*X41 与多项式 50*X24*X, 运算结果为: 5*X67*X44*X350*X24*X1。 程序要求:键盘输入多项式的各项系数及指数,每项系数及指数为一组数据(系 数及指数之一可为零),以0,0结束一个多项式的输入,结果按降幂排列,同类 项要合并(指数最大不超过)。 上例第一式的输入为: 5,6 4,3 -7,4 1,0 0,0 输出结果应为:5*x6-7*x4+4*x3+50*x2+4*x+1. 45. (数列的最小代价) 给定一个正整数序列,例如:4,1,2

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1