HDU-IMNU集训六:叠筐-纯模拟(注意技巧)
来源:互联网 发布:网络教育学籍注册条件 编辑:程序博客网 时间:2024/06/04 20:10
Problem Description
需要的时候,就把一个个大小差一圈的筐叠上去,使得从上往下看时,边筐花色交错。这个工作现在要让计算机来完成,得看你的了。
Input
输入是一个个的三元组,分别是,外筐尺寸n(n为满足0<n<80的奇整数),中心花色字符,外筐花色字符,后二者都为ASCII可见字符;
Output
输出叠在一起的筐图案,中心花色与外筐花色字符从内层起交错相叠,多筐相叠时,最外筐的角总是被打磨掉。叠筐与叠筐之间应有一行间隔。
Sample Input
11 B A5 @ W
11 B A5 @ W
Sample Output
AAAAAAAAA ABBBBBBBBBAABAAAAAAABAABABBBBBABAABABAAABABAABABABABABAABABAAABABAABABBBBBABAABAAAAAAABAABBBBBBBBBA AAAAAAAAA @@@ @WWW@@W@W@@WWW@ @@@
#include<iostream>#include<iomanip>#include<stdio.h>#include<algorithm>#include<cmath>#include<cstring>//strstr()using namespace std;
int main (){ char a[80][80]; int n; char Cen,Per;//centrality,periphery int flag=0;//标记输出之间空行 while( cin>>n>>Cen>>Per ) { if( flag ) cout<<endl; flag=1; if(n==1) cout<<Cen<<endl; else{ for( int i=0; i<n; i++ ){//上三角 for( int j=i; j<n-i; j++ ){ a[i][j]=a[j][i]=( (n/2)%2!=0 ? (i%2==0 ? Per : Cen) : (i%2==0 ? Cen : Per) );//除去中心点所在行四周的行数奇偶性 } //决定外围的花纹 } for( int i=n-1; i>=0; i-- ){//下三角 for( int j=i; j>=n-1-i; j-- ){ a[i][j]=a[j][i]=( (n/2)%2!=0 ? (i%2==0 ? Per : Cen) : (i%2==0 ? Cen : Per) ); } } a[0][0]=a[0][n-1]=a[n-1][n-1]=a[n-1][0]=' '; for( int i=0; i<n; i++ ){ for( int j=0; j<n; j++ ){ cout<<a[i][j]; } cout<<endl; } } } system("pause"); return 0;}
AAAAAAAAA ABBBBBBBBBAABAAAAAAABAABABBBBBABAABABAAABABAABABABABABAABABAAABABAABABBBBBABAABAAAAAAABAABBBBBBBBBA AAAAAAAAA @@@ @WWW@@W@W@@WWW@ @@@
#include<iostream>#include<iomanip>#include<stdio.h>#include<algorithm>#include<cmath>#include<cstring>//strstr()using namespace std;
int main (){ char a[80][80]; int n; char Cen,Per;//centrality,periphery int flag=0;//标记输出之间空行 while( cin>>n>>Cen>>Per ) { if( flag ) cout<<endl; flag=1; if(n==1) cout<<Cen<<endl; else{ for( int i=0; i<n; i++ ){//上三角 for( int j=i; j<n-i; j++ ){ a[i][j]=a[j][i]=( (n/2)%2!=0 ? (i%2==0 ? Per : Cen) : (i%2==0 ? Cen : Per) );//除去中心点所在行四周的行数奇偶性 } //决定外围的花纹 } for( int i=n-1; i>=0; i-- ){//下三角 for( int j=i; j>=n-1-i; j-- ){ a[i][j]=a[j][i]=( (n/2)%2!=0 ? (i%2==0 ? Per : Cen) : (i%2==0 ? Cen : Per) ); } } a[0][0]=a[0][n-1]=a[n-1][n-1]=a[n-1][0]=' '; for( int i=0; i<n; i++ ){ for( int j=0; j<n; j++ ){ cout<<a[i][j]; } cout<<endl; } } } system("pause"); return 0;}
- HDU-IMNU集训六:叠筐-纯模拟(注意技巧)
- HDU-IMNU集训六:奇数阶魔方-纯模拟
- HDU-IMNU集训六:不要62-打表
- HDU--IMNU集训三:夹角有多大(数学能力+数据分析能力)
- HDU-IMNU集训之不及AC送我情~:Climbing Worm-新学到一个函数
- HDU--IMNU集训四:剪花布条 学到了一个重要的工具函数strstr()
- HDU--IMNU集训四:进制转换 回顾了一下C语言和递归初级
- HDU--IMNU集训三:C语言合法标识符 多用库函数 以及 scanf的相关巧用
- HDU--IMNU集训三:人见人爱A-B 快排回顾 以及 bsearch()用法
- HDU--IMNU集训四:Lowest Common Multiple Plus n个数的最大公约数 递归啊GCD啊之类的
- HDU--IMNU集训三: Palindromes _easy version STL中reverse()用法以及string CString string.h cstring区别
- hdu 4041 纯模拟遍历树
- 约瑟夫环(纯模拟)
- hdu 5818 Joint Stacks (模拟 技巧)
- hdu Web Navigation (模拟,只需注意vist后,没有forward)
- NCPC 2016 Game Rank(纯模拟)
- 纯js(jq)模拟alert弹窗
- CCNU ACM 2016夏季集训·day4模拟赛(!!!)
- Iterator和ListIterator的区别
- OSG中的智能指针
- jquery 传参
- poj_3349 哈希
- Linux shell编程简介
- HDU-IMNU集训六:叠筐-纯模拟(注意技巧)
- 调用系统方法打电话
- ACM-HDU1789 Doing Homework again(又是贪心- -、)
- Codeforces Round #287 (Div. 2) D. The Maths Lecture (数位dp)
- 自己写的年会抽奖软件免费版带后门作弊,共享出来给大家(更新至V1.3)——转自哈尔滨健康生活网
- sqlite3-基础教程
- CF 287 div2 A
- uva11888 - Abnormal 89's Manacher回文子串
- uva 725 Division(暴力枚举)