Problem Description
把一个字符三角形掏空,就能节省材料成本,减轻重量,但关键是为了追求另一种视觉效果。在设计的过程中,需要给出各种花纹的材料和大小尺寸的三角形样板,通过电脑临时做出来,以便看看效果。
Input
每行包含一个字符和一个整数n(0<n<41),不同的字符表示不同的花纹,整数n表示等腰三角形的高。显然其底边长为2n-1。如果遇到@字符,则表示所做出来的样板三角形已经够了。
Output
每个样板三角形之间应空上一行,三角形的中间为空。显然行末没有多余的空格。
Sample Input
X 2
A 7
@
Sample Output
X
XXX
A
A A
A A
A A
A A
A A
AAAAAAAAAAAAA
设计思路比较简单,只需要在特定的位置将字符输出即可注意:除第一组前面没有空行(后面要输空行)之外,其他组的前后要输出空行
附代码如下:
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc =new Scanner(System.in);
boolean isFirst=true;
while(sc.hasNext()){
String str =sc.next();
if("@".equals(str)){
break;
}
int num =sc.nextInt();
int n=0;
if(isFirst){ //第一组数据前面没有空行
isFirst=false;
}else{
System.out.println();
}
for(int i=0;i<num;i++){ //控制行数
for(int j=1;j<num+i+1;j++){ //控制字符数和空格数
if(i==num-1){ //最后一行每一个位置都输出字符
System.out.print(str);
}else{
if(j==num+i){ //三角形最左边的字符
System.out.print(str);
}else if(j==num-n){ //三角形最右边输出字符,否则输出空格
System.out.print(str);
}else{
System.out.print(" ");
}
}
}
n++; //行数依次遍历
System.out.println();
}
}
}
}
HDOJ--2091 空心三角形
原创
©著作权归作者所有:来自51CTO博客作者splendor孙的原创作品,请联系作者获取转载授权,否则将追究法律责任
提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章
-
【Canvas与艺术】绘制斜置黄色三角biohazard标志
使用Html5/Canvas绘制斜置黄色三角biohazard标志。
canvas biohazard -
【Canvas与艺术】绘制黄色三角辐射警示标志
使用Html5/Canvas绘制黄色三角电离辐射警示标志
canvas 辐射 radiation -
HDU 2091 空心三角形
Problem Description Input每行包含一个字符和一个整数n(0 Output每个样板三角形之间应空上一行,三角形的中间为空。显然行
HDU #include #define ios -
hdoj 三角形 2039 (判断)
三角形Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32
#define #include Java -
python3 空心三角形 python打印空心三角形
python3打印空心三角*形状
python3 空心三角形 -
java 空格三角形 java写空心三角形
把三角形写入二维数组里,然后输出出来注意事项:1.三角形后面没有空格(每一层的后面)2.三角形之间有空行;3.n=1时,特殊处理,因为首位行是分开输出的。
java 空格三角形 System i++ java -
GBDT为什么使用梯度提升
前言 在上一章中我们了解了线性回归求最小值的方法(损失函数最小化),直接对其求导,即正规方程方法。 但是在机器学习中,像线性回归这样可以直接用数学公式推导出最小值的算法是很少的,绝大多数的损失函数是很复杂的,所以我们来介绍一种更为通用,也是机器学习中很重要的一种优化方法,即梯度下降法。 梯度下降法是机器学习中的一种优化算法,并非机器学习算法。 梯度简单的可以理解为多元函数的
GBDT为什么使用梯度提升 3. 机器学习中为什么需要梯度下降 机器学习中为什么需要梯度下降 梯度下降法 损失函数