Zhao70's Blog

勿在浮沙筑高台


  • 首页

  • 标签

  • 归档

  • 关于
Zhao70's Blog

推“一起开心团队_C语言基础习题“有感 part 0

发表于 2016-11-19 | 分类于 algorithm

part1: 1 - 7 题

路漫漫其修远兮,汝应上下而刷题 —— 强哥 (论水题的重要性

题目描述
PTA 1 - 7题

需要注意的地方

  1. (第三题, 素数对猜想)要求N是否为素数, 没有必要遍历(1, N)所有的整数, 因为N若不是素数,必由两个属于(1, N)数相乘的得到, 而这两个数字肯定一个大于等于sqrt(N), 一个小于等于sqrt(N),所以只需要求(1, sqrt[N]]即可, 可将10000降至100,大大提高效率,也可以计算[sqrt(N), N], 效果相同。
  2. (第四题,数组右移) 注意数组整体移动方向和top移动方向相反, 因为数组整体右移,所以相对于top移动方向为向左。
  3. (第六题,找出不是两个数组共有的元素)我的思路是先求交集, 再求出不是交集的部分, 结果分没的全, 挖个坑, 以后再填。
  4. (第七题, 矩阵运算) 输入的时候顺便就可求出各种和, 然后再加上被减了两次的元素。
    PS: PTA的分数机制有点坑人啊, 明明不是一个难度的题, 分数却一样。 还有, 排名榜格式混乱是什么鬼Orz。

我的代码: github

Zhao70's Blog

HDU1016 Prime Ring Problem

发表于 2016-11-09 | 分类于 algorithm

简单的DFS搜索

题目描述
HDU1016 Prime Ring Problem

需要注意的地方

  1. 最后一个环和 1 的和 也为 素数
  2. 输出的数字之间有空格,第一次就是因为这个报错

我的代码: github

Zhao70's Blog

POJ3278 Catch That Cow

发表于 2016-11-09 | 分类于 algorithm

BFS搜索

题目描述
POJ3278 Catch That Cow

遇到的坑:

  1. 统计步数的BFS题,建一个结构体数组,其中的step统计步数
  2. 每走一步的步数,新的节点的步数,一定是head节点的步数 +1 !!!,切记不是自己的步数自增1, 被这个坑了好长时间
  3. 尝试三种不同方式可以使用一个for循环嵌套三个if
  4. 巨坑0: 考虑 开始时 农夫和牛在同一位置的情况
  5. 巨坑1:在poj上数组不能开到100000, 也不能开到100001要不会报错, 考虑了半天改成了100010,AC。

我的代码: github

Zhao70's Blog

再解炸弹人

发表于 2016-11-09 | 分类于 algorithm

简单的BFS搜索

题目描述
再解炸弹人

心得:

  1. 利用一个结构体数组,对每个点进行出入队列操作
  2. 编写getNum时, 按照向四个不同方向扩展的思路,而不是两条交叉的直线
  3. 对每个head点的四个方向进行扩展,并且先判断是否可以加入队列,然后再加入队列
  4. 每有一个点加入队列后便tail++每判断四个点后便head++
  5. 在对startX 和 startY 进行加入第一个节点操作时,虽然head 和 tail都可以进行相同的操作,但是入队操作需要使用tail

我的代码: github

Zhao70's Blog

解救小哈

发表于 2016-11-07 | 分类于 algorithm

简单的dfs搜索


题目描述:
添柴,拯救小哈

一道比较水的DFS搜索题目,需要注意的是
  1. 运用next数组进行下一步的加减,与八皇后问题可以斜着走的问题区别开,只能上下左右运动的需要定义一个next[4][2]的数组进行保存。
  2. 编写DFS只关心当前这一步要做什么,并且注意边界条件的判断,如此题的是否出界和是否有障碍物
  3. 标记数组的处理,为了防止死递归,所以需要标记数组,而下一步的决策取决于上面的标记,但是不能影响其他平行的决策,所以标记数组要及时复原。
    我的代码: github
Zhao70's Blog

我的第一篇文章

发表于 2016-11-06

使用markdown

1…56
Zhao70

Zhao70

56 日志
5 分类
54 标签
RSS
© 2016 - 2017 Zhao70
由 Hexo 强力驱动
主题 - NexT.Pisces