题解:傻逼模拟题
代码
#include <iostream>
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
const int maxn=1e6+5;
ll s[maxn];
typedef long long ll;
int main(){
int n;
cin>>n;
int temp=33;
int y;
if(n==1){
cout<<char(temp)<<endl;
cout<<char(temp);
return 0;
}
y=1;
int kn=2*(n-1);
for(int i=1;i<=n;i++){
//cout<<pow(2,n-i)<<endl;
for(int p=0;p<kn;p++)
cout<<" ";
for(int j=0;j<ceil((double)y/2);j++)
cout<<char(temp);
if(i!=1){
for(int j=0;j<y/2;j++)
cout<<char(temp);
}
cout<<endl;
for(int p=0;p<kn;p++)
cout<<" ";
for(int j=0;j<ceil((double)y/2);j++)
cout<<char(temp);
if(i!=1){
for(int j=0;j<y/2;j++)
cout<<char(temp);
}
if(i!=n)
cout<<endl;
temp++;
y+=4;
kn-=2;
}
return 0;
}
问题描述
SW快过生日了,所以他给朋友们买了礼物,还买了蛋糕给大家,SW有n个朋友,每个朋友的口味不一样。所以他准备买一个n层的蛋糕,每一层都是不同的口味。SW不是很会做蛋糕,你能帮帮他吗?他会在生日会上给你一个气球哦~
注意:SW的朋友最多有50个哦。
输入描述
单组输入,输入一个整数n,代表蛋糕的层数(1<=n<=50)。
输出描述
输出2*n行,每两行代表一层蛋糕,一共输出n层蛋糕。第一层蛋糕使用 ”!“ 表示,宽度为1。("!"的ASCII码为33),下面每一层的ASCII码为上层+1, 蛋糕的每层宽度比上层多4。每一行的蛋糕左面为空格,右面为空不要加空格。
样例输入
样例1输入:
1
样例2输入:
3
样例输出
样例1输出:
!
!
样例2输出:
!
!
"""""
"""""
#########
#########
来源
中北大学2018年新生赛
提示