[luogu p1498] 南蛮图腾

南蛮图腾 今天做洛谷上的[南蛮图腾](https://www.luogu.org/problemnew/show/P1498)这道题,简直了,果然还是我太菜。我看了看题解,很多都是用字符数组倒着输出的,我试着写了写,没写出来,而且不好调试,我就简化了一下,决定用字符串来写,因为这题需要自我复制,所以关键的问题就是空格的控制,有点像我刚学c语言时的字符金字塔,这里只不过是把字符换成了... 阅读详情

传送门

题面

题目描述

自从到了南蛮之地,孔明不仅把孟获收拾的服服帖帖,而且还发现了不少少数民族的智慧,他发现少数民族的图腾往往有着一种分形的效果,在得到了酋长的传授后,孔明掌握了不少绘图技术,但唯独不会画他们的图腾,于是他找上了你的爷爷的爷爷的爷爷的爷爷......帮忙,作为一个好孙子的孙子的孙子的孙子......你能做到吗?

输入输出格式

每个数据一个数字,表示图腾的大小(此大小非彼大小) n

输出格式

这个大小的图腾

输入输出样例

输入样例 #1

2

输出样例 #1

/\
  /__\
 /\  /\
/__\/__\

输入样例 #2

3

输出样例 #2

/\
      /__\
     /\  /\
    /__\/__\
   /\      /\
  /__\    /__\
 /\  /\  /\  /\
/__\/__\/__\/__\

分析

赤裸裸的谢尔宾斯基三角啊,直接考虑分治输出。
前导空格的处理有些技巧,详见代码。
如果你想了解更多的谢尔宾斯基三角形知识,可以戳我。(wikipedia)

代码

很简单的分治递归操作。

/*
 * @Author: crab-in-the-northeast 
 * @Date: 2020-02-23 16:14:17 
 * @Last Modified by: crab-in-the-northeast
 * @Last Modified time: 2020-02-23 16:32:21
 */
#include <iostream>
#include <cstdio>
#include <cstring>

const int maxn = 2055;
char a[maxn][maxn];

int qpow(int a,int p) {
    int ans = 1, base = a;
    while(p) {
        if(p & 1) ans *= base;
        base *= base;
        p >>= 1;
    }
    return ans;
}//快速幂板子。

void draw(int x,int y,int depth) {
    if(depth == 1) {//递归到最小层了,赋值
        a[x][y] = a[x - 1][y + 1] = '/';
        a[x][y + 1] = a[x][y + 2] = '_';
        a[x][y + 3] = a[x - 1][y + 2] = '\\';
        return ;
    }
    int h = qpow(2,depth);//这是一个很巧妙的解法,我在这里光说你可能也不会理解,打个草稿
    //你就明白了。
    draw(x,y,depth-1);//分
    draw(x,y + h,depth-1);//分
    draw(x - (h >> 1),y + (h >> 1),depth-1);//分
}

int main() {
    int n;
    scanf("%d",&n);
    memset(a,' ',sizeof(a));//初始化为空格

    int h = qpow(2,n);
    draw(h,1,n);
    for(int i = 1; i <= h; i++,puts(""))
        for(int j = 1; j <= h * 2; j++)
            printf("%c",a[i][j]);
    printf("\n");
    return 0;
}

评测结果

AC 100:R30979237

洛谷 P1498 南蛮图腾 题目描述 自从到了南蛮之地,孔明不仅把孟获收拾的服服帖帖,而且还发现了不少少数民族的智慧,他发现少数民族的图腾往往有着一种分形的效果,在得到了酋长的传授后,孔明掌握了不少绘图技术,但唯独不会画他们的图腾,于是他找上了你的爷爷的爷爷的爷爷的爷爷……帮忙,作为一个好孙子的孙子的孙子的孙子……你能做到吗? 输入输出格式 输入格式:   每个数据一个数字,表示图腾的大小(此大小非彼大小) n&l... 阅读详情

相关推荐

在ubuntu20.04上配置VINS_Fusion(亲测有效,一应俱全)

最近在做科研训练的时候配置了HKUST-Aerial-Robotics实验室的VINS_Fusion代码项目,经历了一些编译报错的问题,在网上查找的时候博客内容良莠不齐,且实质针对性意见不多,于是在此记录下自己配置期间遇到的一些共性问题,留作自己日后参考和大家的交流学习。

wyr1849089774的博客 8266

P1498 南蛮图腾(C++_递推)

题目描述 自从到了南蛮之地,孔明不仅把孟获收拾的服服帖帖,而且还发现了不少少数民族的智慧,他发现少数民族的图腾往往有着一种分形的效果,在得到了酋长的传授后,孔明掌握了不少绘图技术,但唯独不会画他们的图腾,于是他找上了你的爷爷的爷爷的爷爷的爷爷……帮忙,作为一个好孙子的孙子的孙子的孙子……你能做到吗? 输入格式 每个数据一个数字,表示图腾的大小(此大小非彼大小) n<=10 输出格式 这个大小...

ccql's Blog 2534

企业微信会话存档SDK集成与动态库加载实战

本文详细解析了企业微信会话存档SDK的集成与动态库加载实战,重点解决Windows与Linux环境下动态库加载的差异问题。通过实战案例和优化建议,帮助开发者高效完成企业微信API集成,确保合规存档功能稳定运行。

weixin_26934905的博客 464

问题 BA: 少数民族的图腾

自从到了南中之地(今四川南部、云南东北部和贵州西北部一带),孔明不仅把孟获收拾得服服帖帖,而且还发现了许多少数民族的智慧。他发现少数民族的图腾往往有一种分形的效果,在得到了酋长的传授后,孔明掌握了许多绘图技术,但唯独不会画他们的图腾。每个数据一个数字,表示图腾的大小(此大小非彼大小),n≤10.往后每一个图形都是前一个图形向右平移、向右上平移组成的。若是按照原有图形进行平移,坐标计算困难。特别鸣谢:为此篇博客画图的亲友^^请你根据样例找出图腾的规律。

weixin_65908362的博客 978

Simulink标定工作流优化:当A2L文件遇到ELF,如何用Matlab脚本打通‘最后一公里’?

本文探讨了Simulink标定工作流中A2L与ELF文件处理的自动化解决方案。通过Matlab脚本实现A2L文件智能合并与ELF文件自动匹配,解决了传统手动操作效率低下和易出错的问题,显著提升汽车ECU开发效率。重点介绍了脚本实现细节及持续集成系统集成方案。

weixin_30564785的博客 338

PCB激光直接成像(LDI)设备技术解析与优化方案

激光直接成像(LDI)是PCB制造中的关键数字化工艺,通过激光束直接在基板上形成电路图案。其核心技术在于高精度光学系统与智能控制算法的结合,工作精度可达微米级。在HDI板、柔性电路等高端PCB制造中,LDI技术能显著提升线宽精度和层间对位准确性。当前行业面临材料适配性、热变形控制等挑战,动态能量补偿、多波长曝光等创新方案正在突破这些瓶颈。随着模块化设计、预测性维护等工程实践的普及,LDI设备综合效率持续提升,为5G、汽车电子等领域的精密电路生产提供关键技术支撑。

weixin_29168393的博客 390

【分治】南蛮图腾

【分治】南蛮图腾 题目 题目描述 自从到了南蛮之地,孔明不仅把孟获收拾的服服帖帖,而且还发现了不少少数民族的智慧,他发现少数民族的图腾往往有着一种分形的效果,在得到了酋长的传授后,孔明掌握了不少绘图技术,但唯独不会画他们的图腾,于是他找上了你的爷爷的爷爷的爷爷的爷爷……帮忙,作为一个好孙子的孙子的孙子的孙子……你能做到吗? 输入格式 每个数据一个数字,表示图腾的大小(此大小非彼大小) n<=...

A793488316的博客 1084

UDS $27服务DLL文件生成

UDS 27算法 DLL文件生成

hkj8808的博客 1282

洛谷P1498 南蛮图腾

题目描述自从到了南蛮之地,孔明不仅把孟获收拾的服服帖帖,而且还发现了不少少数民族的智慧,他发现少数民族的图腾往往有着一种分形的效果,在得到了酋长的传授后,孔明掌握了不少绘图技术,但唯独不会画他们的图腾,于是他找上了你的爷爷的爷爷的爷爷的爷爷……帮忙,作为一个好孙子的孙子的孙子的孙子……你能做到吗?输入输出格式输入格式:每个数据一个数字,表示图腾的大小(此大小非彼大小) n&lt;=10输出格式:这...

weixin_38199770的博客 553

基于SolidWorks宏的草图点坐标自动化提取与Excel集成

本文详细介绍了如何利用SolidWorks宏编程实现草图点坐标的自动化提取并与Excel集成,显著提升机械设计效率。通过VBA代码解析与优化,解决了人工记录坐标耗时易错的问题,并扩展了多草图批量处理、数据可视化等高级功能,适用于数控加工、质量检测等场景。

weixin_29251131的博客 459

Matt Pocock Skills — AI 编码代理技能包介绍与使用指南

《Matt Pocock Skills:AI编码代理技能包指南》 摘要: Matt Pocock Skills是一套开源AI编码代理技能包,旨在解决AI辅助开发中的四大痛点:需求理解偏差、token浪费、代码质量差和架构腐化。该技能包包含多种实用工具:/grill-with-docs用于需求对齐,/tdd实现测试驱动开发,/diagnose提供规范化调试流程,/triage管理issue生命周期。核心思想包括:通过拷问式对齐确保需求理解一致,建立共享领域语言提高沟通效率,快速反馈闭环加速开发,以及持续架构维

qq_45859163的博客 2221

南蛮图腾(反转坐标系模拟)

自从到了南蛮之地,孔明不仅把孟获收拾的服服帖帖,而且还发现了不少少数民族的智慧,他发现少数民族的图腾往往有着一种分形的效果,在得到了酋长的传授后,孔明掌握了不少绘图技术,但唯独不会画他们的图腾,于是他找上了你的爷爷的爷爷的爷爷的爷爷……帮忙,作为一个好孙子的孙子的孙子的孙子?每个数据输入一个正整数 n,表示图腾的大小(此大小非彼大小)给定一个正整数 n,参考输出样例,输出图形。数据保证,1≤n≤10。

m0_74083096的博客 326

Spring AI Alibaba Agent开发实战:DeepResearch Agent调度系统

智能Agent调度系统通过专业化分工解决传统AI系统的三大痛点:通用模型专业性不足、处理效率低下和资源浪费。系统采用分层架构设计,核心组件包括智能调度器、Agent选择辅助器和集成工具类,实现问题分类、专业Agent匹配和搜索策略优化的全流程自动化。系统特点包括:1)配置驱动的灵活扩展;2)分层回退的容错机制;3)支持工具调用与传统搜索的智能切换。该架构通过策略模式和依赖注入等技术,在保证稳定性的同时显著提升了研究质量和效率,为企业级多Agent协作提供了完整解决方案。(149字)

wjianwei666的专栏 501

luogu 1498 南蛮图腾

题目 题目描述 自从到了南蛮之地,孔明不仅把孟获收拾的服服帖帖,而且还发现了不少少数民族的智慧,他发现少数民族的图腾往往有着一种分形的效果,在得到了酋长的传授后,孔明掌握了不少绘图技术,但唯独不会画他们的图腾,于是他找上了你的爷爷的爷爷的爷爷的爷爷……帮忙,作为一个好孙子的孙子的孙子的孙子……你能做到吗? 输入格式 每个数据一个数字,表示图腾的大小(此大小非彼大...

banlianbi6499的博客 563

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

P1498 南蛮图腾

https://www.luogu.org/problemnew/show/P1498 #include<iostream> using namespace std; char a[1024][2048]; int main() { ios::sync_with_stdio(false);//输出速度优化 int n,length=4,k=1;//length表示当前...

NOIP提高组日志 201

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

【分形】【洛谷P1498】

https://www.luogu.org/problemnew/show/P1498 题目描述 自从到了南蛮之地,孔明不仅把孟获收拾的服服帖帖,而且还发现了不少少数民族的智慧,他发现少数民族的图腾往往有着一种分形的效果,在得到了酋长的传授后,孔明掌握了不少绘图技术,但唯独不会画他们的图腾,于是他找上了你的爷爷的爷爷的爷爷的爷爷……帮忙,作为一个好孙子的孙子的孙子的孙...

aiyuneng5167的博客 198

【分形与杨辉三角】南蛮图腾

【分形与杨辉三角】南蛮图腾 题目 思路 与三角形相关的分形常常与杨辉三角有关。 我们通过对杨辉三角取模常常可以得到一些分形图案 参考博客 本题对杨辉三角取模2即可得到分形构成,然后分析规律即可 代码 // Problem: P1498 南蛮图腾 // Contest: Luogu // URL: https://www.luogu.com.cn/problem/P1498 // Memory Limit: 125 MB // Time Limit: 1000 ms // FishingRod // /

鱼竿钓鱼干 437

luogu1538:迎春舞会之数字之舞

题目连接:该题是luogu试炼场的2-3:T1 有一道类似的,难度要高一点的:luogu1498:南蛮图腾 题目大意: 1 给出一个数字n,第二行有若干是数字; 2 要求按照 n 的尺寸来放大这若干个数字; 样例1:尺寸为1的数字打印: 样例2:尺寸为2的数字打印: 解题思路: 1 打表存储每个数字的基础笔画 2 根据比例,多次输出对应的基础笔画,注意换行的关系 上代码 //luog...

liusu201601的博客 268

【洛谷】P1498 南蛮图腾(分治)题解

原题链接:https://www.luogu.org/problem/P1498 题目描述 自从到了南蛮之地,孔明不仅把孟获收拾的服服帖帖,而且还发现了不少少数民族的智慧,他发现少数民族的图腾往往有着一种分形的效果,在得到了酋长的传授后,孔明掌握了不少绘图技术,但唯独不会画他们的图腾,于是他找上了你的爷爷的爷爷的爷爷的爷爷……帮忙,作为一个好孙子的孙子的孙子的孙子……你能做到吗? 输入输出格式...

360°顺滑 2661

[洛谷P1498] 南蛮图腾(分治+递归)

分析 根据题目标签,首先解释一下分治算:分治算法的基本思想是将一个规模为N的问题分解为K个规模较小的子问题,这些子问题相互独立且与原问题性质相同。求出子问题的解,就可得到原问题的解。即一种分目标完成程序算法———百度百科。 递归的话大家都很熟悉的。 然后再解释一下为什么要用分治和递归 :根据样例图形分析可以知道,这是一个由一个基础图形得到的复杂图形,说白了就是图腾每次扩大时,向右复制一个,再向上复制一个,最后再倒置输出。 #include<iostream> #include<cmath.

qq_52167324的博客 2010

vijos 1167 南蛮图腾(打印图案)

https://vijos.org/p/1167 描述 自从到了南蛮之地,孔明不仅把孟获收拾的服服帖帖,而且还发现了不少少数民族的智慧,他发现少数民族的图腾往往有着一种分形的效果(看Hint),在得到了酋长的传授后,孔明掌握了不少绘图技术,但唯独不会画他们的图腾,于是他找上了你的爷爷的爷爷的爷爷的爷爷……帮忙,作为一个好孙子的孙子的孙子的孙子……你能做到吗? 格...

diansitao5461的博客 530

【洛谷】P1498 南蛮图腾(分治、递归)

题目:https://www.luogu.org/problem/P1498 标签:分治、递归、字符串 【题解】 最终图腾是由多个与之相似的更小的图腾元素组成,一直迭代就行。我的思路先手动设置最小的三角形图腾,然后往右边和上边移动一次就形成大一级的图腾。以此类推。 不用理会题目输入的数字和图腾的大小有什么具体关系,题目都说了此大小非彼大小,只要知道2是基础三角形平移后的三角形图腾,3是把前面平...

Samven_7的博客 1690

洛谷P1948 南蛮图腾 分治找规律

题意: n=1-10时,输出图形 很容易看出 n=k时的图形,就是把n=k-1时的图形整个向右平移一次,向右上平移一次所得的新图形。 但是要怎么实现呢??思考。。 我这个菜鸡还是忍不住看了题解。用矩阵存储,没毛病。 一个很有趣的想法是倒着存储,因为按次序存储的时候很难处理从左下角拓展 要把现存的信息重新整个平移到左下角,空出上半部分,很难实现,so我们把整个图形倒置过来 这样拓展的时候可以单纯的向...

一个脱离了高级趣味的人 346

洛谷 1498 南蛮图腾

题目:南蛮图腾思路:分治。以一个三角形为基本型,每次复制一遍。注意 '\\'==\代码:#include&lt;bits/stdc++.h&gt; using namespace std; #define maxm 2000 string str[maxm]; void f(int x) { int len=(x&lt;&lt;1); for (int i=x; i&lt;len; i+...

iwi 812

lg1498 南蛮图腾

题目描述自从到了南蛮之地,孔明不仅把孟获收拾的服服帖帖,而且还发现了不少少数民族的智慧,他发现少数民族的图腾往往有着一种分形的效果(看Hint),在得到了酋长的传授后,孔明掌握了不少绘图技术,但唯独不会画他们的图腾,于是他找上了你的爷爷的爷爷的爷爷的爷爷……帮忙,作为一个好孙子的孙子的孙子的孙子……你能做到吗?输入输出格式输入格式: 每个数据一个数字,表示图腾的大小(此大小非彼大小) n<=10输

ACM_e的博客 599
上一篇: [luogu p1074] 靶型数独
下一篇: 入站必读
「已注销」
博客等级 码龄7年 10粉丝 170原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值