【洛谷】P1498 南蛮图腾(分治)题解
原题链接:https://www.luogu.org/problem/P1498
题目描述
自从到了南蛮之地,孔明不仅把孟获收拾的服服帖帖,而且还发现了不少少数民族的智慧,他发现少数民族的图腾往往有着一种分形的效果,在得到了酋长的传授后,孔明掌握了不少绘图技术,但唯独不会画他们的图腾,于是他找上了你的爷爷的爷爷的爷爷的爷爷……帮忙,作为一个好孙子的孙子的孙子的孙子……你能做到吗?
输入输出格式
输入格式:
每个数据一个数字,表示图腾的大小(此大小非彼大小) n<=10
输出格式:
这个大小的图腾
输入输出样例
输入样例#1:
2
输出样例#1:
/\/__\/\ /\
/__\/__\
输入样例#2:
3
输出样例#2:
/\/__\/\ /\/__\/__\/\ /\/__\ /__\/\ /\ /\ /\
/__\/__\/__\/__\
说明
时空限制:1000ms 125M
思路:
图形就是由一个不断向右复制一个再向上复制一个,慢慢扩大。所以只需要把第一个图形存入数组,接下来复制n-1次,不断将图形向右和向上复制一次,每次复制完后宽度变大两倍。
须注意的点:
- 数组ch[ ][ ]不仅要定义为全局变量,也要初始化,全部赋值为空格。
- ’ \ ’是转义字符,需写成’ \ ’。
- 第一个图形要倒着存入数组,这样才便于复制,不然无法向上复制,最后输出要从下往上,从左往右输出。
代码如下:
#include <iostream>
#include <cstdio>
#include <algorithm>
#include <cstring>
char ch[5000][5000]; //必须定义为全局变量
using namespace std;
int main(){ios::sync_with_stdio(false); //取消同步 int n,wide=4;cin>>n;memset(ch,' ',sizeof(ch)); //全部初始化为空格 /*将第一个图形倒着存入数组,这样才便于复制,不然无法向上复制 /\ /__\/__\ /\*/ch[0][0]=ch[1][1]='/';ch[0][1]=ch[0][2]='_';ch[0][3]=ch[1][2]='\\';for(int t=1;t<=n-1;t++){ //复制n-1遍 for(int i=0;i<wide/2;i++){ //遍历高 for(int j=0;j<wide;j++){ //遍历宽 ch[i][j+wide]=ch[i][j]; //向右复制一个 ch[i+wide/2][j+wide/2]=ch[i][j]; //向上复制一个,倒着存储 }}wide*=2; //图形扩大两倍 }for(int i=wide/2-1;i>=0;i--){ //从下往上输出 for(int j=0;j<wide;j++){ //从左往右输出 cout<<ch[i][j];}cout<<endl; //换行 }return 0;
}
【洛谷】P1498 南蛮图腾(分治)题解相关推荐
- 洛谷 P1498 南蛮图腾 分治递归过程详解
题目描述 自从到了南蛮之地,孔明不仅把孟获收拾的服服帖帖,而且还发现了不少少数民族的智慧,他发现少数民族的图腾往往有着一种分形的效果,在得到了酋长的传授后,孔明掌握了不少绘图技术,但唯独不会画他们的图 ...
- 洛谷 P1498 南蛮图腾
P1498 南蛮图腾 题目描述 自从到了南蛮之地,孔明不仅把孟获收拾的服服帖帖,而且还发现了不少少数民族的智慧,他发现少数民族的图腾往往有着一种分形的效果,在得到了酋长的传授后,孔明掌握了不少绘图技术 ...
- [洛谷P1498] 南蛮图腾(分治+递归)
分析 根据题目标签,首先解释一下分治算法:分治算法的基本思想是将一个规模为N的问题分解为K个规模较小的子问题,这些子问题相互独立且与原问题性质相同.求出子问题的解,就可得到原问题的解.即一种分目标完成 ...
- 洛谷-P1498 南蛮图腾
题目描述 自从到了南蛮之地,孔明不仅把孟获收拾的服服帖帖,而且还发现了不少少数民族的智慧,他发现少数民族的图腾往往有着一种分形的效果,在得到了酋长的传授后,孔明掌握了不少绘图技术,但唯独不会画他们的图 ...
- 洛谷P1498 南蛮图腾
该怎么输出,第一行随着输入的不同起始位置也在改变,可以将空白的部分也看成和三角类似的字符串吗,毕竟他们的面积有倍数关系:哦,不能直接cout单独一个三角,因为随着输入不同,每行也都不相同,所以应该用二 ...
- 洛谷——P1498 南蛮图腾
题目描述 自从到了南蛮之地,孔明不仅把孟获收拾的服服帖帖,而且还发现了不少少数民族的智慧,他发现少数民族的图腾往往有着一种分形的效果(看Hint),在得到了酋长的传授后,孔明掌握了不少绘图技术,但唯独 ...
- 洛谷 P1498 南蛮图腾 —— 模拟
题目:https://www.luogu.org/problemnew/show/P1498 大约一年前该做的题...现在来填一下坑: 然而不怎么会模拟!还滚去看TJ了: 就是翻倍复制: \ 这个符号 ...
- 洛谷P1498 南蛮图腾(递归,找规律)
题目链接:传送门 题目思路:打眼一看,递归题目(看看数据范围很合适,比较小).就是找出各个三角形的顶点规律. 代码: #include<bits/stdc++.h> using names ...
- [洛谷] P1498 南蛮图腾
暴力解决 每次把已打出的所有图形往下复制两次 出来的图形都挤在左侧 再按规律在前补空格即可 #include <iostream> #include <cmath> #incl ...
- 洛谷1498 南蛮图腾
本题地址: http://www.luogu.org/problem/show?pid=1498 题目描述 自从到了南蛮之地,孔明不仅把孟获收拾的服服帖帖,而且还发现了不少少数民族的智慧,他发现少数民 ...
最新文章
- _catboost.CatBoostError: C:/Program Files (x86)/Go Agent/pipelines/BuildMaster/catboost.git/catboost
- Camera 涉及的文件70
- JAVA架构师面试题and如何成为架构师
- php 调用memcache,Windows下的Memcache安装(php调用)
- Qt中查看ui_xxx.h文件方法
- 【图像处理】——图像增强Python实现直方图均衡化
- et z201 php扩展,ET z201 时间型(Time)
- GLSL Optimizer
- pytorch---之固定某些层权重再训练
- 接入TapTap防沉迷系统的逻辑图
- 微信公众平台系列-7拓展(如何使用微信扫一扫登录自己的网站)
- sql添加字段并设置外键
- 一杯茶的时间,上手 Django 框架开发
- the7主题footer.php,【Drupal7主题】Repro 清爽杂志门户Drupal 主题
- 使用 Tenderly 为区块链交易设置警报通知
- 【MQTT】MQTT协议学习
- 通过英文剧集、电影学单词的小工具
- 骁龙780G和骁龙888哪个好 骁龙780G和骁龙888对比,哪个更强
- 软件测试基础知识(大全)
- 沟通“黄金圈”,揭秘有效沟通最佳思维方式