摘要: 题意: 给定一颗树, 按层次遍历输出。 分析: 用数组模拟二叉树, bfs即可实现层次遍历 阅读全文
posted @ 2017-07-15 09:58 Neord 阅读(234) 评论(0) 推荐(0)
摘要: 题意: 输入一行字符,其中包含'[' 和 ‘]’, 意思为键盘上的home 和 end 键, 然后模拟字符在键盘上输入。 输入一行最终的结果 分析: 用数组模拟一个链表, 在链表的头尾插入字母然后输出即可, 方法需要多加练习才能练熟, 其实跟邻接表有点像。 为了方便起见,常常在链表的第一个元素之前放 阅读全文
posted @ 2017-07-14 18:52 Neord 阅读(401) 评论(0) 推荐(0)
摘要: 题意: 阅读全文
posted @ 2017-07-14 10:14 Neord 阅读(290) 评论(0) 推荐(0)
摘要: 题意: 模拟n个程序运行 格式一共有5种:var = constant(赋值);print var(打印);lock;unlock;end, 上述5种语句分别需要t1、t2、t3、t4、t5单位时间 运行态的程序每次最多运行Q个单位时间(称为配额) 一个程序的配额用完之后,把当前语句(如果存在)执行 阅读全文
posted @ 2017-07-14 09:22 Neord 阅读(990) 评论(0) 推荐(0)
摘要: 题意: 给定一个n个结点的图G和一个结点的排列, 定义结点i的带宽b(i)为i和相邻结点在排列中的最远距离, 所有b(i)的最大值就是这个图的带宽, 给定G, 求让带宽最小的结点排列。 给定的图 n <=8, 字母包含A~Z 上图是两种排列, 图1 各个b(i) 为 6 6 1 4 1 1 6 6 阅读全文
posted @ 2017-07-12 15:27 Neord 阅读(349) 评论(0) 推荐(0)
摘要: 题意: 给定一个n*n的棋盘, 皇后只能攻击他所在那一列, 左对角线, 右对角线, 求一个所有皇后的不能互相攻击的 solution。 分析: 可以从第一行开始枚举, 然后标记该列和主副对角线, 注意点(i,j)左对角线可以标记为 i+j, 右对角线是 i +(n-j), 用3个标记数组标记即可, 阅读全文
posted @ 2017-07-11 17:18 Neord 阅读(199) 评论(0) 推荐(0)
摘要: 给出一个有重复元素的数组, 生成他的全排列 解释一下刘汝佳的代码 : 就是这个递归只会考虑相同元素的第一个, 所以与前一个相同的元素应当被忽略, 第一个元素由于没有前面的元素, 所以应当取走。 注意这一行代码: 观察用例 3 1 1 1 有了这行代码 只会输出一个 1 1 1 但没有这行代码 就会输 阅读全文
posted @ 2017-07-11 15:51 Neord 阅读(604) 评论(0) 推荐(1)
摘要: 题意: 给定正整数k(1<=k <= 10000),找出所有正整数 x>= y, 使得1/k = 1/x + 1/y 分析: 因为 x >= y 所以 1/x <= 1/y 因为 1/x + 1/y = 1/k 所以 1/k <= 2/y 即 y <= 2k 且 y >= k + 1 枚举y算出x即 阅读全文
posted @ 2017-07-11 11:48 Neord 阅读(194) 评论(0) 推荐(0)
摘要: 题意: 每个学生有一个“睡眠-清醒” 周期, 第i个学生醒Ai分钟睡 Bi分钟, 初始处在他的周期的第Ci分钟, 临睡时会查看全班睡眠人数是否>清醒人数, 是则进入睡眠周期, 不然保持清醒Ai分钟, 问多久后全部学生都清醒 分析: 题目求的是清醒人数, 那么我们可以把清醒人数设为一个变量, 设一个足 阅读全文
posted @ 2017-07-11 09:07 Neord 阅读(454) 评论(0) 推荐(0)
摘要: 题意: 给出一个黑方的将, 然后 红方有 2 ~ 7 个棋子, 给出摆放位置,问是否已经把黑将将死, 红方已经将军。 分析: 分情况处理, 车 马 炮, 红将情况跟车是一样的。 建一个数组board保存棋局, 然后建一个数组moveable用来算出黑将当前位置能走的格子(1可走, 0不可走, 一开始 阅读全文
posted @ 2017-07-10 20:52 Neord 阅读(214) 评论(0) 推荐(0)