一些 Data Structures 的習作…
下面是题目, 点击这里有源代碼和數據.
—————————————————–
Lab1:
7
3 8
8 1 0
2 7 4 4
4 5 2 6 5
編寫一個程序, 計算如上圖的數字三角形, 從上到下最大的和.
* 從頂端開始, 每一步可以走向左下方, 或右下方. ( 例, 7 -> 3, 或者 7 -> 8 )
* 三角形的行數大于 1, 小于等于 100.
* 三角形中的所有數字均在 0 和 99 之間.
Input:
第一行為三角形的大小,
后面為具體數據.
以上面的三角形為例, INPUT.TXT 如下所示:
5
7
3 8
8 1 0
2 7 4 4
4 5 2 6 5
Output (例):
The highest sum is: 30
Path:
(0, 0): 7
(1, 0): 3 *
(2, 1): 8 * *
(3, 1): * 7 * *
(4, 1): * 5 * * *
—————————————————–
Lab2:
利用 Stack 编写程序对文本文档进行解密, 将结果保存到另一个文件中.
文档按照下列规则加密:
- 每一行前后顺序对调.
- 每一个字母都换成下一个字母: a -> b, b -> c, L -> M, 等等. z 则是变成 a.
- 其他字符不做改变.
例如, “tfsvudvsuT” 进行解密后为 “Structures”.
—————————————————–
Lab3:
读取一个文本文件, 第一行的两个数字为下面矩阵的大小. (长度, 宽度)
写出一个程序, 计算出所有被占用的区块所占的方块个数.
每一个方格为一个字符, 0 表示没有东西, 所有 非0 的方块表示有东西占据,
一个区块由上下左右相连的有东西的方块组成.
例如下面这个矩阵, 有四个区块.
第一个区块有6个方块.
第二个区块有9个方块.
第三个区块有1个方块.
第四个区块有17个方块.
例:
10 15
000000000000000
000999000009900
000999000009900
000000900009900
000090000099900
000099900000000
090000900000000
099999999900000
000090090000000
000000000000000
000000000000000
000111000002200
000111000002200
000000300002200
000040000022200
000044400000000
040000400000000
044444444400000
000050050000000
000000000000000
(待續)