开博客这么久从来没写过自己学校oj的题解 今天写一篇吧 嘿嘿

原题链接:http://acm.hrbust.edu.cn/index.php?m=ProblemSet&a=showProblem&problem_id=2291

这是我大一的第一次校赛的题目 接触的第一道分形题 当时还想傻傻的printf……

这道题oj上开2200*2200就可以了 实际上是6500*6500的样子……

分形重要的是找到递归的基础点 然后根据基础点去描述图形 然后完成打印

比如这道题的图案

CC

C

CC

我选的是第二行唯一一个C作为基础点

设_deep为下一层图案的大小

那么五个递归点就可以分别描述为(竖着的是x轴 横着的是y轴 这就是个二维数组嘛)

  (x-deep,y+deep)  (x-deep,y+2*deep)

(x,y)

  (x+deep,y+deep)  (x-deep,y+2*deep)

然后递归打印就可以了^_^~

可以当deep=0时输出 也可以deep=1时输出

为了区别一下我是自己写的 我就deep=1了 2333~

 #include<cstdio>
#include<iostream>
#include<algorithm>
#include<cmath>
#include<cstring>
#include<string>
#include<bitset>
#include<map>
#include<set>
#include<stack>
#include<vector>
#include<queue>
#include<list>
#define M(a,b) memset(a,b,sizeof(a))
using namespace std;
typedef long long ll;
const int inf=0x3f3f3f3f;
const int maxn=2e3+;
const int mod=1e7+;
int dx[]= {,,,-,,-,,-};
int dy[]= {,-,,,-,,,-};
//---------------------------------------ヽ(^。^)丿
char a[maxn][maxn]; void make(int x,int y,int deep){
if(deep==){
a[x-][y]=' ',a[x-][y+]='C',a[x-][y+]='C';
a[x][y]='C';
a[x+][y]=' ',a[x+][y+]='C',a[x+][y+]='C';
return ;
}
int _deep=(int)(pow(,deep-)+0.5);
make(x-_deep,y+_deep,deep-);
make(x-_deep,y+_deep+_deep,deep-);
make(x,y,deep-);
make(x+_deep,y+_deep,deep-);
make(x+_deep,y+_deep+_deep,deep-);
} int main(){
int T;
scanf("%d",&T);
while(T--){
int n;
scanf("%d",&n);
M(a,' ');
if(n==){
printf("C\n");
continue;
}
int deep=(int)(pow(,n)+0.5);
make(deep/+,,n);
for(int i=;i<=deep;i++){
for(int j=deep;j>=;j--){
if(a[i][j]=='C'){
a[i][j+]='\0';
break;
}
}
}
for(int i=;i<=deep;i++){
int j=;
while(a[i][j]) printf("%c",a[i][j++]);
printf("\n");
}
}
return ;
}
/* */

[ An Ac a Day ^_^ ] hrbust 2291 Help C5 分形的更多相关文章

  1. FF D8 FF FE 00 24 47 00转图片

    String[] img = "FF D8 FF FE 00 24 47 00 9D 0C 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 F0 0 ...

  2. bzoj AC倒序

    Search GO 说明:输入题号直接进入相应题目,如需搜索含数字的题目,请在关键词前加单引号 Problem ID Title Source AC Submit Y 1000 A+B Problem ...

  3. 彻底理解AC多模式匹配算法

    (本文尤其适合遍览网上的讲解而仍百思不得姐的同学) 一.原理 AC自动机首先将模式组记录为Trie字典树的形式,以节点表示不同状态,边上标以字母表中的字符,表示状态的转移.根节点状态记为0状态,表示起 ...

  4. 基于trie树做一个ac自动机

    基于trie树做一个ac自动机 #!/usr/bin/python # -*- coding: utf-8 -*- class Node: def __init__(self): self.value ...

  5. AC自动机-算法详解

    What's Aho-Corasick automaton? 一种多模式串匹配算法,该算法在1975年产生于贝尔实验室,是著名的多模式匹配算法之一. 简单的说,KMP用来在一篇文章中匹配一个模式串:但 ...

  6. AC算法学习笔记

    1.算法流程图 (1)    void Init() 此函数是初始化函数,用来给fail数组和goto数组初始化值. (2)    void GotoFunction(string x) 这个函数的作 ...

  7. 四种比较简单的图像显著性区域特征提取方法原理及实现-----> AC/HC/LC/FT。

    laviewpbt  2014.8.4 编辑 Email:laviewpbt@sina.com   QQ:33184777 最近闲来蛋痛,看了一些显著性检测的文章,只是简单的看看,并没有深入的研究,以 ...

  8. python爬虫学习(11) —— 也写个AC自动机

    0. 写在前面 本文记录了一个AC自动机的诞生! 之前看过有人用C++写过AC自动机,也有用C#写的,还有一个用nodejs写的.. C# 逆袭--自制日刷千题的AC自动机攻克HDU OJ HDU 自 ...

  9. python爬虫学习(7) —— 爬取你的AC代码

    上一篇文章中,我们介绍了python爬虫利器--requests,并且拿HDU做了小测试. 这篇文章,我们来爬取一下自己AC的代码. 1 确定ac代码对应的页面 如下图所示,我们一般情况可以通过该顺序 ...

随机推荐

  1. Beyond Compare V3.2.3 Beta 中文版

    软件名称: Beyond Compare V3.2.3 Beta 中文版 软件语言: 简体中文 授权方式: 免费软件 运行环境: Win7 / Vista / Win2003 / WinXP 软件大小 ...

  2. 安卓activity之间值共享解决办法,tabhost之间共享父类值,字符串类型的转换,获取每一个listview的item

    1.tabhost父类值共享的解决办法 dianzhanliebiao.java是传值页面,zhuyemian.java放的是tabhost,dianzhangaikuang.java是tabhost ...

  3. Chapter 17_4 终结器

    Lua中的垃圾回收主要是针对Lua对象,但是也可以做一些额外的资源管理工作. 可以为表设定垃圾收集的元方法(对于完全用户数据,则需要使用C API),该元方法称为 终结器. Lua用"__g ...

  4. [WPF] 为Style 里的button添加鼠标点击响应事件

    一个TabControl, 用的是PagedTabControl style, 在style中有个button, button在style里已经写了click事件,但是现在还需要加上一段功能,就是在响 ...

  5. 学习node的REPL

    REPL: read eval print loop 支持 多行代码 编辑模式,即 识别{} () 为代码块. 在repl中快速查看 对象的属性 gl = global repl command .h ...

  6. laravel创建定时任务

    官方文档给出的教程已经很详细了,这里给出一些补充帮助大家理解. 英文文档:https://laravel.com/docs/5.2/scheduling 中文文档:https://laravel-ch ...

  7. centos7 crontab笔记

    1.crontab相关命令 语法:crontab [-u <用户名称>][配置文件] 或 crontab [-u <用户名称>][-elr] 参数: -e 编辑该用户的计时器设 ...

  8. LoadRunner日志(归档记录,以便自己查阅)

    1.当设置迭代次数大于1时,回放从第二次迭代开始发生错误 这种现象多是由于在"Run-time Setting"的"Browse Emulation"的设置中, ...

  9. 2015 Syrian Private Universities Collegiate Programming Contest 题解

    题目在这里>_< 发现这场比赛在网上没有完整的题解,甚至连题目代码都没人贴出来(大概是因为题目太水了吧...).所以宝宝就来写个题解,也就当作成长记录了233333 A. Window 题 ...

  10. escape,encodeURI,encodeURIComponent

    JavaScript/js中,有三个可以对字符串编码的函数,分别是: escape,encodeURI,encodeURIComponent,相应3个解码函数:unescape,decodeURI,d ...