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. django ORM模型表的一对多、多对多关系、万能双下划线查询

    一.外键使用 在 MySQL 中,如果使用InnoDB引擎,则支持外键约束.(另一种常用的MyIsam引擎不支持外键) 定义外键的语法为fieldname=models.ForeignKey(to_c ...

  2. 【题解】Luogu P2605 [ZJOI2010]基站选址

    原题传送门:P2604 [ZJOI2010]基站选址 看一眼题目,变知道这题一定是dp 设f[i][j]表示在第i个村庄修建第j个基站且不考虑i+1~n个村庄的最小费用 可以得出f[i][j] = M ...

  3. 面试必问:Spring循环依赖的三种方式

    引言:循环依赖就是N个类中循环嵌套引用,如果在日常开发中我们用new 对象的方式发生这种循环依赖的话程序会在运行时一直循环调用,直至内存溢出报错.下面说一下Spring是如果解决循环依赖的. 第一种: ...

  4. python简说(十)json模块

    常用模块: 一个python文件就是一个模块 1.标准模块,python自带的 2.第三方模块,需要安装 3.自己写的python文件 json,就是一个字符串 1.json转为字典 json_str ...

  5. linux中没有tree命令,command not found,解决办法

    在有网络的情况下: 1.包管理器安装 centos 中用  yum -y install tree ubuntu 中用  apt-get install tree 当然如果需要权限不要忘了在前面加上 ...

  6. clnt_create: RPC: Program not registered

    原因:[root@nfs nfs]# systemctl start nfs-utils 解决方法:[root@nfs nfs]# systemctl start nfs

  7. java定时任务调度工具

    一.什么是定时任务调度 基于给定的时间点,给定的时间间隔或者给定的时间执行次数自动执行的任务. 二.java中常用的定时任务调度工具: Timer Quartz 2.1两者区别: Timer源自jdk ...

  8. 给sublime设置格式化代码的快捷键

    sublime中自建的有格式化按钮: Edit  ->  Line  ->  Reindent 只是sublime并没有给他赋予快捷键,所以只需加上快捷键即可 Preference  -& ...

  9. R dataframe 列名包含减号,列名自动变为点

    d<- data.frame(x = c(0, 1)) d<- data.frame(d, y = c(0,1)) names(d)[2]<- "a.-5" d ...

  10. c# 之继承、封装、多态

    虽然理解了继承和封装,但是多态总是忘记其定义,很容易被忽略,通过这一次的查找资料和总结能帮助自己更好的理解 1/多态的概念: 同一操作作用于不通过的对象,可以有不同的解释,产生不同的执行结果,这就是多 ...