博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
UVA 177 PaperFolding 折纸痕 (分形,递归)
阅读量:6533 次
发布时间:2019-06-24

本文共 924 字,大约阅读时间需要 3 分钟。

著名的折纸问题:给你一张很大的纸,对折以后再对折,再对折……每次对折都是从右往左折,因此在折了很多次以后,原先的大纸会变成一个窄窄的纸条。现在把这个纸条沿着折纸的痕迹打开,每次都只打开“一半”,即把每个痕迹做成一个直角,那么从纸的一端沿着和纸面平行的方向看过去,会看到一条美妙的曲线。

就是一个分形,规定一下,纸的朝向,然后不难发现规律。

实现方面,可以迭代也可递归。

在图形输出方面,存下x和y坐标,然后下标排个序,或者用map。

 

//Rey 2015.8.3#include
using namespace std;// r -> rl -> open -> ru// -> rlrl -> open -> r ud l -> open -> ru lu// -> rlrlrlrl -> open -> r ud lr ud l -> open -> ru ludr dl -> rulu ldlu// -> rlrlrlrlrlrlrlrl -> r ud lr ud lr ud lr ud l -> ruconst int maxn = 14;const int maxL = (1<<13)+5;int dir[maxL];int Rotate[maxL];int r[maxL];int x[maxL],y[maxL];// up right down left// 0 1 2 3int dx[] = {-1,0,0, 0};int dy[] = { 0,1,0,-1};int mx[] = { 0,0,1, 0};int my[] = { 0,1,0,-1};char decode[] = {
'|','_','|','_'};bool cmp(int a,int b) { return x[a] < x[b] || ( x[a] == x[b] && y[a] < y[b] ); }void solve(int n){ int N = (1<

 

转载于:https://www.cnblogs.com/jerryRey/p/4699728.html

你可能感兴趣的文章
从零开始写一个npm包,一键生成react组件(偷懒==提高效率)
查看>>
Golang中的路由
查看>>
【期末考试季】JAVA进阶复习提纲
查看>>
Volley(二)—— 基本Request对象 & RequestQueue&请求取消
查看>>
2017中国系统架构师大会“盛装”来袭
查看>>
Google插件switchysharp的用法
查看>>
中国最强的人工智能学术会议来了
查看>>
Metasploit的射频收发器功能 | Metasploit’s RF Transceiver Capabilities
查看>>
Osmocom-BB中cell_log的多种使用姿势
查看>>
主库 归档 删除策略
查看>>
linux服务器多网卡bond
查看>>
Chrome 更新策略大变:优先安装 64 位版本
查看>>
《Linux从入门到精通(第2版)》——导读
查看>>
路过下载攻击利用旧版 Android 漏洞安装勒索软件
查看>>
ThinkSNS 六大子版本体验及源码下载
查看>>
《算法基础》——1.5实际因素
查看>>
《Java数字图像处理:编程技巧与应用实践》——第3章 基本Swing UI组件与图像显示 3.1 JPanel组件与BufferedImage对象的显示...
查看>>
为什么有人讨厌 Google 的新 Logo?
查看>>
2022 年 AI 会发展成什么样子,IBM 做出了 5 大预测
查看>>
腾讯2017暑期实习编程题3
查看>>