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的更多相关文章

  1. python爬虫学习(5) —— 扒一下codeforces题面

    上一次我们拿学校的URP做了个小小的demo.... 其实我们还可以把每个学生的证件照爬下来做成一个证件照校花校草评比 另外也可以写一个物理实验自动选课... 但是出于多种原因,,还是绕开这些敏感话题 ...

  2. 【Codeforces 738D】Sea Battle(贪心)

    http://codeforces.com/contest/738/problem/D Galya is playing one-dimensional Sea Battle on a 1 × n g ...

  3. 【Codeforces 738C】Road to Cinema

    http://codeforces.com/contest/738/problem/C Vasya is currently at a car rental service, and he wants ...

  4. 【Codeforces 738A】Interview with Oleg

    http://codeforces.com/contest/738/problem/A Polycarp has interviewed Oleg and has written the interv ...

  5. CodeForces - 662A Gambling Nim

    http://codeforces.com/problemset/problem/662/A 题目大意: 给定n(n <= 500000)张卡片,每张卡片的两个面都写有数字,每个面都有0.5的概 ...

  6. CodeForces - 274B Zero Tree

    http://codeforces.com/problemset/problem/274/B 题目大意: 给定你一颗树,每个点上有权值. 现在你每次取出这颗树的一颗子树(即点集和边集均是原图的子集的连 ...

  7. CodeForces - 261B Maxim and Restaurant

    http://codeforces.com/problemset/problem/261/B 题目大意:给定n个数a1-an(n<=50,ai<=50),随机打乱后,记Si=a1+a2+a ...

  8. CodeForces - 696B Puzzles

    http://codeforces.com/problemset/problem/696/B 题目大意: 这是一颗有n个点的树,你从根开始游走,每当你第一次到达一个点时,把这个点的权记为(你已经到过不 ...

  9. CodeForces - 148D Bag of mice

    http://codeforces.com/problemset/problem/148/D 题目大意: 原来袋子里有w只白鼠和b只黑鼠 龙和王妃轮流从袋子里抓老鼠.谁先抓到白色老鼠谁就赢. 王妃每次 ...

随机推荐

  1. python面向对象三大特性之一继承、多态、封装

    继承,即在定义一个类时,以另一个类为参数,则称这个新定义的类继承了参数类,父类又称为基类. 单继承表示只继承一个类,多继承表示继承多个类. class parent1: pass class pare ...

  2. bzoj1088 P2327 [SCOI2005]扫雷

    P2327 [SCOI2005]扫雷 emmmmm.....这题真可以用状压写 因为每个数字只对3个格子有影响,相当于只有2^3=8种状态,所以可以用状压瞎搞 我们用8个数字代表二进制下的8种状态 0 ...

  3. 【Python042--魔法方法:算术运算】

    一.算术魔法方法的举例 1.加法(__add__)的算术运算调用减法(__sub__)的算术运算,减法(__sub__)的算术运算调用加法(__add__)的算术运算 class New_Init(i ...

  4. python --- 19 判断对象所属,区分函数和对象, 反射

    一.判断对象所属 isinstance, type , issubclass 1.issubclass(x,y)    判断x是否是y 的子类 2.type(x)  精准返回x 的数据类型 3.isi ...

  5. topcoder srm 310 div1

    problem1 link 先计算出最上面.最下面一层,根据最上面一层的数量计算答案. import java.util.*; import java.math.*; import static ja ...

  6. maven项目更新之后,JDK版本成为1.5

    描述:maven项目更新之后,JDK版本成为1.5? 解决:在pom.xml文件中配置java版本,选中build path 设置之后,刷新maven项目

  7. fedora23 桌面工具栏fedy, 桌面美化 allow: 2'lau不是2'l2u

    ## Sudoers allows particular users to run various commands as ## the root user, without needing the ...

  8. (转)Awesome Knowledge Distillation

    Awesome Knowledge Distillation 2018-07-19 10:38:40  Reference:https://github.com/dkozlov/awesome-kno ...

  9. (转)Introductory guide to Generative Adversarial Networks (GANs) and their promise!

    Introductory guide to Generative Adversarial Networks (GANs) and their promise! Introduction Neural ...

  10. C++ getline判断空行

    C++中getline用于逐行读取字符, 格式 getline(字符串,字符数) 将该行“字符数”个的字符读入“字符串” 如何判断所读是否为空行呢? strlen(字符串)==0就是空行