【分形】【洛谷P1498】

https://www.luogu.org/problemnew/show/P1498

题目描述

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

输入输出格式

输入格式:

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

输出格式:

这个大小的图腾

输入输出样例

输入样例#1:
2
输出样例#1: 
   /\/__\/\  /\
/__\/__\
输入样例#2: 
3
输出样例#2: 
       /\/__\/\  /\/__\/__\/\      /\/__\    /__\/\  /\  /\  /\
/__\/__\/__\/__\
 1 #include<iostream>
 2 #include<cstdio>
 3 #include<cstring>
 4 #include<algorithm>
 5 using namespace std;
 6 /*
 7    /\
 8   /__\
 9  /\  /\
10 /__\/__\
11 */
12 int n;
13 char ch[2501][2501];
14 int mypow(int x,int y)
15 {
16     int ans=1;
17     while(y)
18     {
19         if(y&1)ans*=x;
20         x*=x;
21         y/=2;
22     }
23     return ans;
24 }
25 void dfs(int q,int w,int e,int t)//q控制图形递归的边界 w e 控制横纵坐标 t控制深度【用于控制w e的大小,递归分形的精髓,一定要由n分解成n-1,然后观察w e的大小变化】
26 {
27 //    cout << w << "    "<<e << endl;
28     if(q==1)
29     {
30         ch[w][e]='/';
31         ch[w][e+1]='\\';
32         ch[w+1][e-1]='/';
33         ch[w+1][e+2]='\\';
34         ch[w+1][e]='_';
35         ch[w+1][e+1]='_';
36         return;
37     }
38     dfs(q/2,w,e,t*2);
39     dfs(q/2,w+t,e-t,t*2);
40     dfs(q/2,w+t,e+t,t*2);    
41 }
42 int main()
43 {
44     scanf("%d",&n);
45     for(int i = 0 ; i < 2501 ; i++)
46     {
47         int j;
48         for( j = 0 ; j < 2501 ; j++)
49         {
50             ch[i][j]=' ';
51         }
52     }
53     dfs(mypow(2,n-1),0,mypow(2,n)-1,2);
54     for(int i = 0 ; i < mypow(2,n) ; i++)
55     {
56         for(int j = 2500 ; j >= 0 ; j--)
57         {
58             if(ch[i][j]=='\\')
59             {
60                 ch[i][j+1]='\0';
61                 break;
62             }
63         }
64     }
65     for(int i = 0 ; i < mypow(2,n) ; i++)
66     {
67         printf("%s\n",ch[i]);
68     }
69     return 0;
70 }

 

 

转载于:https://www.cnblogs.com/MekakuCityActor/p/8989025.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/353724.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Java认证:认证或不认证

专业认证始终是一个有争议的主题&#xff0c;有资格的人在争论收益与成本/时间之间的关系。 通过Oracle的Java认证&#xff0c;我认为有两个主要的受众可以从中受益&#xff1a; 那些开始从事软件事业的人。 扎实的工作经验和可证明的代码将永远是潜在雇主的首要考虑因素。 但…

linux下杀死进程全权讲解

linux下杀死进程全权讲解 2009-10-27 08:57 佚名 linux 我要评论(0) 字号&#xff1a;T | T本文将详细讲解linux杀死进程的多种命令&#xff0c;包含他们的作用&#xff0c;kill作用&#xff1a;根据进程号杀死进程&#xff1b; killall作用&#xff1a;通过程序的名字&#xf…

python学习笔记(10)--组合数据类型(序列类型)

序列是具有先后关系的一组数据&#xff0c;是一维元素向量&#xff0c;元素类型可以不同&#xff0c;类似数学元素序列&#xff0c;元素间由序号引导&#xff0c;通过下标访问序列的特定元素。序列类型是一个基类类型&#xff0c;字符串类型&#xff0c;元祖类型&#xff0c;列…

Java Process中waitFor()的问题

Java Process中waitFor()的问题 http://yearsaaaa123789.iteye.com/blog/1404865在编写Java程序时&#xff0c;有时候我们需要调用其他的诸如exe,shell这样的程序或脚本。在Java中提供了两种方法来启动其他程序&#xff1a;(1) 使用Runtime的exec()方法(2) 使用ProcessBuilder…

java jsr_Java EE 7中包含哪些JSR?

java jsr我开始填写所有应该包含在Java EE 7中的Java规范请求的表。 由于仍在决定平台版本&#xff0c;因此某些细节很难确定。 完整的Java EE 7 EJB产品具有以下标准组件和API&#xff1a; 名称 版 描述 JSR 网页 个人资料 批处理 1.0 批量处理 352 Bean验证 1…

※※Java调用Runtime.exec()要注意的问题

※※Java调用Runtime.exec()要注意的问题标签&#xff1a;execJavaRuntime字体&#xff1a;【默认中大】 http://it.superkoo.com/#/topic/479/ 最近开发一个项目需要在JAVA中调用VC写的一个EXE程序&#xff0c;首先想到的方法肯定是用Runtime.exec()&#xff0c;但一写就发现&…

应用程序模块和实体缓存

任何具有ADF业务组件基础知识的ADF开发人员都应该熟悉下图&#xff1a; 它代表运行时ADF业务组件的核心构建块。 有一个包含视图对象实例的根应用程序模块实例。 视图对象实例可能由存储在实体集合或换句话说就是实体缓存中的实体对象备份。 根应用程序模块可能还包含嵌套的应…

kubernetes-dashboard(1.8.3)部署与踩坑

Kubernetes Dashboard 是一个管理Kubernetes集群的全功能Web界面&#xff0c;旨在以UI的方式完全替代命令行工具&#xff08;kubectl 等&#xff09;。 目录 部署创建用户集成Heapster访问 kubectl proxyNodePortAPI ServerIngress部署 Dashboard需要用到k8s.gcr.io/kubernetes…

MFC中打开文件对话框:CFileDlg

MFC中打开文件对话框:CFileDlg CFileDialog 文件选择对话框的使用&#xff1a;首先构造一个对象并提供相应的参数&#xff0c;构造函数原型如下&#xff1a; CFileDialog::CFileDialog( BOOL bOpenFileDialog, LPCTSTR lpszDefExt NULL, LPCTSTR lpszFileName NULL, DWORD d…

TCL座机日期时间调整

设置日期时间&#xff1a;1.按“挂断/设置”键&#xff0c;显示“SET 12345678”2.按1&#xff08;一般情况下1为设置日期&#xff09;&#xff0c;显示“1-date 2-cl”&#xff0c;3.按1显示 “d2012 01-01”&#xff08;设置年月日&#xff0c;也就是直接按数字键设定年月日&…

MFC多线程编程

MFC多线程编程 (2007-11-20 17:56:36) 分类&#xff1a; vc 基于MFC的多线程编程 MFC是微软的VC开发集成环境中提供给程序员的基础函数库&#xff0c;它用类库的方式将Win32 API进行封装&#xff0c;以类的方式提供给开发者。由于其快速、简捷、功能强大等特点深受广大开发者喜…

oracle线程阻塞_Oracle Service Bus –线程阻塞案例研究

oracle线程阻塞本案例研究描述了在AIX 6.1和IBM Java VM 1.6上运行的Oracle Service Bus 11g遇到的线程阻塞问题的完整根本原因分析过程。 本文也是您提高线程转储分析技能的绝佳机会&#xff0c;我强烈建议您学习并正确理解以下分析方法。 它还将展示正确数据收集的重要性&…

前端开发 —— BOM

0. BOM vs. DOM BOM&#xff1a;Browser Object Model&#xff0c;浏览器对象模型&#xff0c;是在 web 中使用 JavaScript 的绝对核心&#xff1b; BOM&#xff1a;提供了独立于内容而与浏览器窗口进行交互的对象。BOM 提供了很多对象&#xff08;window、location、navigator…

LPCTSTR和CString的关系

LPCTSTR和CString的关系 2010-12-06 08:56:33 标签&#xff1a;LPCTSTR CString 休闲 职场 类型理解LPCTSTR类型&#xff1a;L表示long指针 这是为了兼容Windows 3.1等16位操作系统遗留下来的&#xff0c;在win32中以及其他的32位操作系统中&#xff0c; long指针和near指针及…

Activiti中的安全脚本如何工作

最近的Activiti 5.21.0版本的突出特点之一是“安全脚本”。 Activiti用户指南中详细介绍了启用和使用此功能的方法 。 在这篇文章中&#xff0c;我将向您展示我们如何实现其最终实现以及它在幕后所做的事情。 当然&#xff0c;由于这是我通常的签名风格&#xff0c;因此我们还将…

JS 代码优化

1、JS中函数单独写在一个声明函数中&#xff0c;执行这个使用调用函数。这样js代码结构会清爽一点。 2、js函数注释规范 /*** brief 对报文某个域组包&#xff0c;把逗号后面的数据组成一个字符串给ddname用* param {string} p1 参数1的说明* param {string} p2 参数2的说明&am…

c++学习之const成员变量与成员函数

c学习之const成员变量与成员函数 常类型是指用类型修饰符const说明的类型&#xff0c;常类型的变量或者对象的值是不能被更新的。因此&#xff0c;定义或说明常类型时必须初始化。 如果在一个类声明常数据成员&#xff0c;那么任何函数中都不能对该成员赋值。构造函数对该成员…

使用准现网的数据,使用本地的样式脚本,本地调试准现网页面(PC适用)

原理&#xff1a; 本地逻辑&#xff0c;重新渲染 步骤&#xff1a; 1.安装插件&#xff1a;Tampermonkey 度盘&#xff1a;https://pan.baidu.com/s/1bpBVVT9 2.设置&#xff1a; 点击插件-->仪表盘 添加脚本 将此文本文档中的脚本复制到脚本编辑框处&#xff0c;并CtrlS保存…

FDATOOL设计滤波器

FDATOOL设计滤波器 分类&#xff1a; 数字信号处理 2006-04-20 11:251. 在Matlab中键入fdatool运行Filter Design and Analysis Tool。具体使用请参见Matlab Help中的Signal Processing Toolbox->FDATool。 2. 在fdatool工具中应该注意的几个问题&#xff1a;(a)Fstop&#…

大例外背后的真相

异常可能是最被滥用的Java语言功能。 这就是为什么 让我们打破一些神话。 没有牙仙子。 圣诞老人不是真实的。 TODO评论。 finalfinalversion-final.pdf。 无皂肥皂。 而且…例外实际上是例外。 后者可能需要更多说服力&#xff0c;但我们可以帮助您。 在这篇文章中&#xff…