首页 > 代码库 > hdu2074 叠筐
hdu2074 叠筐
叠筐
Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)
Total Submission(s): 20470 Accepted Submission(s): 5348
Problem Description
需要的时候,就把一个个大小差一圈的筐叠上去,使得从上往下看时,边筐花色交错。这个工作现在要让计算机来完成,得看你的了。
Input
输入是一个个的三元组,分别是,外筐尺寸n(n为满足0<n<80的奇整数),中心花色字符,外筐花色字符,后二者都为ASCII可见字符;
Output
输出叠在一起的筐图案,中心花色与外筐花色字符从内层起交错相叠,多筐相叠时,最外筐的角总是被打磨掉。叠筐与叠筐之间应有一行间隔。
Sample Input
11 B A
5 @ W
Sample Output
Author
qianneng
Source
浙江工业大学网络选拔赛
Recommend
linle | We have carefully selected several similar problems for you: 2072 2091 1096 1093 1092
题目不能,但格式有点坑,不确定测试数据个数,又要求框与框之间空行隔开,所以只能在输出图形之前就输出图像。
#include <iostream> #include <cstdio> #include <cstring> using namespace std; int main() { int n; char c1,c2; char a[100][100]; int flag=0; while(~scanf("%d %c %c",&n,&c1,&c2)){ if(flag==1){ printf("\n"); } flag=1; if(n==1){ printf("%c\n",c1); continue; } for(int i=0;i<=n/2;i++){ char t; if((n/2)%2==0){ if(i%2==0){ t=c1; }else{ t=c2; } }else{ if(i%2==0){ t=c2; }else{ t=c1; } } for(int j=i;j<n-i;j++){ a[i][j]=t; a[n-i-1][j]=t; } for(int j=i;j<n-i;j++){ a[j][i]=t; a[j][n-i-1]=t; } } for(int i=0;i<n;i++){ for(int j=0;j<n;j++){ if(i==0&&j==0||i==0&&j==n-1||i==n-1&&j==0||i==n-1&&j==n-1){ printf(" "); }else{ printf("%c",a[i][j]); } } printf("\n"); } } return 0; }
hdu2074 叠筐
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。