当前位置: 代码迷 >> 综合 >> Triangles 三角形
  详细解决方案

Triangles 三角形

热度:71   发布时间:2023-11-25 03:02:12.0

题目链接:https://acs.jxnu.edu.cn/problem/HDU1467

描述:
有小兄弟姐妹总是很好。 你可以逗他们,把他们锁在浴室里,或者把红辣椒放在他们的三明治里。 但也有一段时间,所有的卑鄙都被还回来了!
如你所知,再过一个月就是圣诞节了,今年你很荣幸能制作出将卡在圣诞树顶上的大明星。 但是当你拿到三角形图案的银纸时,你会发现里面有很多洞。 你的小妹妹把正常的圣诞星星上剪出了较小的三角形。 你唯一的机会是找到一个算法,告诉你每张银纸的最大剩余三角形的大小。
给定一个内部有白色和黑色区域的三角形结构,您必须找到白色区域的最大三角形区域,如下图所示。
在这里插入图片描述
输入:
输入包含几个三角形描述。 每个描述的第一行包含一个整数 n (1 <= n <= 100),它给出了三角形的高度。 接下来的 n 行包含集合 {space, #, -} 的字符,表示三角形的行,其中“#”是黑色字段,“-”是白色字段。 空格仅用于通过在行的左端填充来保持输入中的三角形形状。 (与样本输入对比。第一个测试用例对应上图。)
对于每个三角形,每行字符“#”和“-”的数量是奇数,从 2n - 1 减少到 1。
输入以 n = 0 开头的描述结束。

输出:
对于输入中的每个三角形,首先输出三角形的编号,如示例输出所示。 然后打印“The largest triangle area is a.”这一行,其中 a 是仅由白色字段组成的最大三角形内的字段数。 请注意,最大的三角形可以将其点放在顶部,如样本输入的第二种情况。
在每个测试用例之后输出一个空行。

样例输入:

5
#-##----#
[bk]-----#-
[bk][bk]---#-
[bk][bk][bk]-#-
[bk][bk][bk][bk]-
4
#-#-#--
[bk]#---#
[bk][bk]##-
[bk][bk][bk]-
0

样例输出:

Triangle #1
The largest triangle area is 9.Triangle #2
The largest triangle area is 4.