Codeforces 36B - Fractal
思路:分形
代码:
#include<bits/stdc++.h>
using namespace std;
#define ll long long
#define pb push_back
#define mem(a,b) memset(a,b,sizeof(a)) char mp[][];
char c[][];
void dfs1(int x,int y,int k,char color){
if(k==){
mp[x][y]=color;
return ;
}
if(color=='.'){
dfs1(x,y,k-,c[][]);
dfs1(x+pow(,k-),y,k-,c[][]);
dfs1(x,y+pow(,k-),k-,c[][]);
dfs1(x+pow(,k-),y+pow(,k-),k-,c[][]);
}
else{
dfs1(x,y,k-,'*');
dfs1(x+pow(,k-),y,k-,'*');
dfs1(x,y+pow(,k-),k-,'*');
dfs1(x+pow(,k-),y+pow(,k-),k-,'*');
}
}
void dfs2(int x,int y,int k,char color){
if(k==){
mp[x][y]=color;
return ;
}
if(color=='.'){
dfs2(x,y,k-,c[][]);
dfs2(x+pow(,k-),y,k-,c[][]);
dfs2(x,y+pow(,k-),k-,c[][]);
dfs2(x+pow(,k-),y+pow(,k-),k-,c[][]);
dfs2(x+*pow(,k-),y,k-,c[][]);
dfs2(x+*pow(,k-),y+pow(,k-),k-,c[][]);
dfs2(x+*pow(,k-),y+*pow(,k-),k-,c[][]);
dfs2(x,y+*pow(,k-),k-,c[][]);
dfs2(x+pow(,k-),y+*pow(,k-),k-,c[][]);
}
else{
dfs2(x,y,k-,'*');
dfs2(x+pow(,k-),y,k-,'*');
dfs2(x,y+pow(,k-),k-,'*');
dfs2(x+pow(,k-),y+pow(,k-),k-,'*');
dfs2(x+*pow(,k-),y,k-,'*');
dfs2(x+*pow(,k-),y+pow(,k-),k-,'*');
dfs2(x+*pow(,k-),y+*pow(,k-),k-,'*');
dfs2(x,y+*pow(,k-),k-,'*');
dfs2(x+pow(,k-),y+*pow(,k-),k-,'*');
}
}
int main(){
ios::sync_with_stdio(false);
cin.tie();
freopen("input.txt","r",stdin);
freopen("output.txt","w",stdout);
int n,k;
cin>>n>>k;
for(int i=;i<=n;i++)cin>>(c[i]+);
if(n==){
dfs1(,,k,'.');
for(int i=;i<=pow(,k);i++){
puts(mp[i]+);
}
}
else{
dfs2(,,k,'.');
for(int i=;i<=pow(,k);i++){
puts(mp[i]+);
}
}
return ;
}
Codeforces 36B - Fractal的更多相关文章
- python爬虫学习(5) —— 扒一下codeforces题面
上一次我们拿学校的URP做了个小小的demo.... 其实我们还可以把每个学生的证件照爬下来做成一个证件照校花校草评比 另外也可以写一个物理实验自动选课... 但是出于多种原因,,还是绕开这些敏感话题 ...
- 【Codeforces 738D】Sea Battle(贪心)
http://codeforces.com/contest/738/problem/D Galya is playing one-dimensional Sea Battle on a 1 × n g ...
- 【Codeforces 738C】Road to Cinema
http://codeforces.com/contest/738/problem/C Vasya is currently at a car rental service, and he wants ...
- 【Codeforces 738A】Interview with Oleg
http://codeforces.com/contest/738/problem/A Polycarp has interviewed Oleg and has written the interv ...
- CodeForces - 662A Gambling Nim
http://codeforces.com/problemset/problem/662/A 题目大意: 给定n(n <= 500000)张卡片,每张卡片的两个面都写有数字,每个面都有0.5的概 ...
- CodeForces - 274B Zero Tree
http://codeforces.com/problemset/problem/274/B 题目大意: 给定你一颗树,每个点上有权值. 现在你每次取出这颗树的一颗子树(即点集和边集均是原图的子集的连 ...
- CodeForces - 261B Maxim and Restaurant
http://codeforces.com/problemset/problem/261/B 题目大意:给定n个数a1-an(n<=50,ai<=50),随机打乱后,记Si=a1+a2+a ...
- CodeForces - 696B Puzzles
http://codeforces.com/problemset/problem/696/B 题目大意: 这是一颗有n个点的树,你从根开始游走,每当你第一次到达一个点时,把这个点的权记为(你已经到过不 ...
- CodeForces - 148D Bag of mice
http://codeforces.com/problemset/problem/148/D 题目大意: 原来袋子里有w只白鼠和b只黑鼠 龙和王妃轮流从袋子里抓老鼠.谁先抓到白色老鼠谁就赢. 王妃每次 ...
随机推荐
- 如何用git将项目代码上传到github
注册账户以及创建仓库 要想使用github第一步当然是注册github账号了.之后就可以创建仓库了(免费用户只能建公共仓库),Create a New Repository,填好名称后Create,之 ...
- socket编程-阻塞和非阻塞
转自:https://www.cnblogs.com/sunziying/p/6501045.html 建立连接 阻塞方式下,connect首先发送SYN请求道服务器,当客户端收到服务器返回的SYN的 ...
- 实现定时器定时 1 秒钟,LED 亮灭显示
实现定时器定时 1 秒钟,LED 亮灭显示 要求 每隔一秒钟,实现LED灯的显隐转换 实验代码 /*************************************************** ...
- opencv学习之路(12)、图像滤波
一.图像滤波简介 二.方框滤波——boxFilter() #include<opencv2/opencv.hpp> using namespace cv; void main(){ Mat ...
- NOIP模拟题 2017.11.6
题目大意 给定一个大小为n的数组,从中选出一个子集使得这个子集中的数的和能被n整除. 假设开始我没有做出来,那么我就random_shuffle一下,然后计算前缀和,有一个能被n整除,就输出答案.于是 ...
- Python中对象的引用与复制
在python进行像b = a这样的赋值时,只会创建一个对a的新引用,使a的引用计数加1,而不会创建新的对象: >>> a = 'xyz' >>> import s ...
- 转载:索引与分片 plus
[Python笔记]序列(一)索引.分片 Python包含6种内建序列:列表.元组.字符串.Unicode字符串.buffer对象.xrange对象.这些序列支持通用的操作: 索引 索引是从0开始 ...
- Flask学习【第3篇】:蓝图、基于DBUtils实现数据库连接池、上下文管理等
小知识 子类继承父类的三种方式 class Dog(Animal): #子类 派生类 def __init__(self,name,breed, life_value,aggr): # Animal. ...
- 源码编译安装libtool工具
1. 获取源码 wget http://ftpmirror.gnu.org/libtool/libtool-2.4.6.tar.gz tar xvf libtool-2.4.6.tar.gz -C ~ ...
- 集训DAYn——组合数学(1)
组合 又到了我们信息老师讲数学课了,吼吼吼 然后数学老师中途探望了一下,哇塞塞,然后他看到黑板上的题,微妙的笑了. 排列: 从n个数中有序的选出m个数的方案数是多少?第一个数有n种取法,第二个数有n- ...