杭电 2091 空心三角形
2015-07-24 19:26
309 查看
空心三角形
Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 30553 Accepted Submission(s): 8433
Problem Description
把一个字符三角形掏空,就能节省材料成本,减轻重量,但关键是为了追求另一种视觉效果。在设计的过程中,需要给出各种花纹的材料和大小尺寸的三角形样板,通过电脑临时做出来,以便看看效果。
Input
每行包含一个字符和一个整数n(0<N<41),不同的字符表示不同的花纹,整数N表示等腰三角形的高。显然其底边长为2N-1。如果遇到@字符,则表示所做出来的样板三角形已经够了。 < div>
Output
每个样板三角形之间应空上一行,三角形的中间为空。显然行末没有多余的空格。
Sample Input
X 2 A 7 @
Sample Output
X XXX A A A A A A A A A A A AAAAAAAAAAAAA
先贴ac过的:
解题思路很高端,比较牛的大神。反正我是想不出来。
#include<stdio.h> int main(){ int n,line=1; char ch; while(scanf("%c",&ch)&&ch!='@'){ scanf("%d",&n); if(line==0) printf("\n"); line=0; int i,j; for(i=0;i<n;++i){ for(j=0;j<2*n-1;++j){ if((j==(2*n-1)/2+i)||(j==(2*n-1)/2-i)||(i==n-1)) printf("%c",ch); else if(j<(2*n-1)/2+i) printf(" "); } printf("\n"); } getchar(); } return 0; }
这个是我自己的,反正吧是没有过。。。答案什么的都对。。可能是格式上?不知道诶。。。留着以后看吧~~
#include<stdio.h> int main(){ int n=0; char x; int line=1; int m; while(scanf("%c",&x)&&x!='@'){ scanf("%d",&n); getchar(); if(line==0) printf("\n"); line=0; m=n; int j=1,i=0; while(m--){ if(m==n-1){ for(i=m;i>0;i--){ printf(" "); } printf("%c\n",x); } if(m>0&&m<n-1){ for(i=m;i>0;i--){ printf(" "); } printf("%c",x); for(i=0;i<j;i++){ printf(" "); } printf("%c\n",x); j=j+2; } if(m==0){ for(i=0,j=2*n-1;i<j;i++){ printf("%c",x); } printf("\n"); } } } return 0; }
后来经学长指正是没有考虑特殊情况1~改了之后就交上了~~感觉萌萌哒~~~
#include<stdio.h> int main(){ int n=0; char x; int line=1; int m; while(scanf("%c",&x)&&x!='@'){ scanf("%d",&n); getchar(); if(line==0) printf("\n"); line=0; m=n; <span style="color:#ff0000;">if(n==1){ printf("%c\n",x); continue; } </span> int j=1,i=0; while(m--){ if(m==n-1){ for(i=m;i>0;i--){ printf(" "); } printf("%c\n",x); } if(m>0&&m<n-1){ for(i=m;i>0;i--){ printf(" "); } printf("%c",x); for(i=0;i<j;i++){ printf(" "); } printf("%c\n",x); j=j+2; } if(m==0){ for(i=0,j=2*n-1;i<j;i++){ printf("%c",x); } printf("\n"); } } } return 0; }
相关文章推荐
- 查看,控制进程
- org.apache.jasper.JasperException: Unable to compile class for JSP
- Deep Learning for NLP 文章列举
- LayoutParams
- Android Studio如何在真机中调试
- 递推(错排公式)
- Java Lock Condition
- 聊天--感悟
- 最长公共子序列 (LCS,longest common subsequence problem) 动态规划
- 【系统性能优化】Hibernate调优
- 时间日期类型
- bj Java初学2015-07-24
- 并发无锁队列学习(概念介绍)
- 第一个Hadoop程序——WordCount
- JAVA时间类
- 初学C语言,使用 Visual Studio2013Community
- 第一个Hadoop程序——WordCount
- hdu 吉哥系列故事——完美队形 (最长公共子序列)
- 无Maven不项目---使用Eclipse快速搭建Maven项目
- Spring(八)编码剖析@Resource注解的实现原理