`

[ACM实验二]C++STL泛型编程(2)

 
阅读更多

实验项目:C++STL泛型编程(2)
实验目的:掌握C++STL string向量容器等的应用。
实验要求:使用VC++6.0实现实验要求。
实验内容:

1.输入一串小写字母字符,输出该字符串中每个字母的个数,例如输入:aadsef,输出:
a 2
d 1
e 1
f 1
s 1


2. 古代一位国王和他的张、王、李、赵、钱五位将军一同出外打猎,各人的箭上都刻有自己的姓氏。打猎中,一只鹿中箭倒下,但不知是何人所射。
张说:"或者是我射中的,或者是李将军射中的。"
王说:"不是钱将军射中的。"
李说:"如果不是赵将军射中的,那么一定是王将军射中的。"
赵说:"既不是我射中的,也不是王将军射中的。"
钱说:"既不是李将军射中的,也不是张将军射中的。"
国王让人把射中鹿的箭拿来,看了看,说:"你们五位将军的猜测,只有两个人的话是真的."请判断是谁射中鹿。

只要能将其转换为编程思路,这道题其实很简单。


3. 输入一个自然数N(2≤N≤9),要求输出如下的魔方阵,即边长为N行N列,元素取值为1至N*N,1在左上角,呈顺时针方向依次放置各元素。如输入4,输出:
1 2 3 412 13 14 511 16 15 610 9 8 7


附加题:
给定一个N×M的整数矩阵,找出其中具有最大和的子矩阵。一个矩阵的和就是矩阵中所有元素的和,子矩阵是指位于整个矩阵中任何一个1×1或更大的连续的子矩阵。例如,在矩阵
0 -2 -7 0
9 2 -6 2
-4 1 -4 1
-1 8 0 -2
中其最大子矩阵在其左下角:
9 2
-4 1
-1 8
其和为15。

思路:用一个四个元素的数组来保存子矩阵左上角的坐标及大小,通过递归列出四个元素的所有组合情况,把所有情况的矩阵之和计算出来,并将最大值及最大解保存在变量中,最后输出。


原文地址(本人博客):http://lanfei.sinaapp.com/2012/03/316.html



分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics