编程之美
文章平均质量分 78
biluyang
这个作者很懒,什么都没留下…
展开
-
中国象棋将帅问题--读书笔记(1)
问题描述:中国象棋中只剩下两个棋子,将帅不能出九宫格,只能横向或者纵向移动,不能沿对角线移动,将帅不能处于同一纵向直线上。写出一个程序,要求只能使用一个变量。解法一:本题要求使用一个变量,想到位运算。对于一个8位的byte类型能够表达28=256个值,所以用它来表示A,B两个的位置信息完全足够。因此可以把这个字节的变量分为两部分。其那面的4bit表示A的信息,后面4bit表示B的信息。4bit原创 2015-01-26 22:46:14 · 456 阅读 · 0 评论 -
一摞烙饼的排序问题--读书笔记(2)
问题描述:一摞大小不一的饼,由于一只手托着盘子,只好用另一只手,一次抓住最上面的几块饼,把它们上下颠倒个,反复几次使烙饼安装由小到大排好序。假设有n块大小不一的饼,最少需要翻几次使烙饼排好序。分析与解法:首先,经过两次翻转可以把最大的烙饼翻转到最下面,因此,最多需要把上面的n-1个烙饼依次翻转两次。那么至多需2(n-1)次翻转就可以把所有烙饼排好序。当然还有更高效的方法,考虑每次翻原创 2015-01-29 14:48:33 · 644 阅读 · 0 评论