首页 > 代码库 > 就我不坑2 nyoj(简单模拟)
就我不坑2 nyoj(简单模拟)
就我不坑2
时间限制:1000 ms | 内存限制:65535 KB
难度:0
- 描述
- 要说学长谁善良,ACM找LY。 没错,以上面那句话我已经不能再同意了。 问题来了:画 8 。
- 输入
- 输入的第一行为一个整数N,表示后面有N组数据.
每组数据中有一个字符和一个整数,字符表示画笔,整数(>=5)表示高度. - 输出
- 画横线总是一个字符粗,竖线随着总高度每增长6而增加1个字符宽.当总高度从5增加到6时,其竖线宽度从1增长到2.下圈高度不小于上圈高度,但应尽量接近上圈高度,且下圈的内径呈正方形.
每画一个"8"应空一行,即两组之间有一条华丽的分割线 - 样例输入
2 A 7 B 8
- 样例输出
AA AA AA AA AA AA AA AA AA AA AA <---华丽的分割线---> BBB BB BB BB BB BBB BB BB BB BB BB BB BBB
- 来源
上传者
#include<iostream> #include<stdio.h> #include<algorithm> #include<string.h> using namespace std; char c; int n; int main() { int t; cin>>t; for(int i=0;i<t;i++) { cin>>c>>n; //cout<<c<<endl; int a=n/6+1; int b=(n-3)/2; if((n-3)%2!=0) b++; //cout<<a<<" "<<b<<endl; int j,k; for(j=1;j<=n;j++) { if(j==1||j==n||j==n-b-1) { for(k=1;k<=a+b;k++) { if(k<=a) cout<<" "; else cout<<c; } } else { for(k=1;k<=2*a+b;k++) { if(k>a&&k<=a+b) cout<<" "; else cout<<c; } } cout<<endl; } if(i!=t-1) cout<<"<---华丽的分割线--->"<<endl; } }
就我不坑2 nyoj(简单模拟)
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。