首页 > 其他分享 >P5461【黄】-递归

P5461【黄】-递归

时间:2024-02-28 11:59:27浏览次数:22  
标签:p2 P5461 ch 递归 nc p1 && include

简单的很,十分钟不到就切掉了,做这道黄题是因为今天写累了不想写代码了,就最后做一道简单的。看来黄题对我而言基本就是“一半能切一半想一会之后能切”,除非题目是思维题

 

 1 #include <iostream>
 2 #include <cstring>
 3 #include <string>
 4 #include <cstdio>
 5 #include <algorithm>
 6 #include <cmath>
 7 #define int long long
 8 char *p1,*p2,buf[100000];
 9 #define nc() (p1==p2 && (p2=(p1=buf)+fread(buf,1,100000,stdin),p1==p2)?EOF:*p1++)
10 using namespace std;
11 int read()
12 {
13     int x=0,f=1;
14     char ch=nc();
15     while(ch<48||ch>57)
16     {
17         if(ch=='-')
18             f=-1;
19         ch=nc();
20     }
21     while(ch>=48&&ch<=57)
22         x=x*10+ch-48,ch=nc();
23        return x*f;
24 }
25 int m[1050][1050];
26 void div(int x1,int y1,int x2,int y2)
27 {
28     if(x1==x2)return;
29     int dx=(x1+x2)/2,dy=(y1+y2)/2;
30     for(int i=x1;i<=dx;i++)
31     {
32         for(int j=y1;j<=dy;j++)
33         {
34             m[i][j]=1;
35         }
36     }
37     div(x1,dy+1,dx,y2);
38     div(dx+1,y1,x2,dy);
39     div(dx+1,dy+1,x2,y2);
40 }
41 signed main()
42 {
43     int n;
44     cin>>n;
45     div(1,1,1<<n,1<<n);
46     for(int i=1;i<=(1<<n);i++)
47     {
48         for(int j=1;j<=(1<<n);j++)
49         {
50             if(m[i][j]==1)cout<<"0 ";
51             else cout<<"1 ";
52         }
53         cout<<endl;
54     }
55     
56     return 0;
57 }
View Code

 

TRANSLATE with x English
Arabic Hebrew Polish
Bulgarian Hindi Portuguese
Catalan Hmong Daw Romanian
Chinese Simplified Hungarian Russian
Chinese Traditional Indonesian Slovak
Czech Italian Slovenian
Danish Japanese Spanish
Dutch Klingon Swedish
English Korean Thai
Estonian Latvian Turkish
Finnish Lithuanian Ukrainian
French Malay Urdu
German Maltese Vietnamese
Greek Norwegian Welsh
Haitian Creole Persian  
  TRANSLATE with COPY THE URL BELOW Back EMBED THE SNIPPET BELOW IN YOUR SITE Enable collaborative features and customize widget: Bing Webmaster Portal Back

标签:p2,P5461,ch,递归,nc,p1,&&,include
From: https://www.cnblogs.com/gongkai/p/18039849

相关文章

  • 算法入门:递归和迭代
    文章目录1.递归 1.1.概念1.2.案例1.3.优缺点2.迭代2.1.概念2.2.案例2.3.优缺点3.递归与迭代算法的关系和区别3.1.关系3.2.区别3.3.算法的选择 1.递归1.1.概念递归算法是一种解决问题的方法,其中问题被分解为更小、相似的子问题。这一方法通过不断调用自......
  • 递归与回溯算法
    递归函数中自己调用自己经典例题:汉诺塔需要将所有盘子按顺序放到塔C上(问题规模:n)就需要最大的盘子在C底部就需要将其余所有盘子移动到塔B上 第二塔上也需要按顺序摆放(问题规模:n-1)就需要第二大的盘子在B底部就需要将其余所有盘子移动到另一个塔上··········......
  • 洛谷题单指南-递推与递归-P1498 南蛮图腾
    原题链接:https://www.luogu.com.cn/problem/P1498题意解读:观察样例,可以发现,当n=1时,得到最基础的图案:/\/__\当n=2时,将基础图案向下复制两个,并排,然后将之前的图案移到居中的位置/\/__\/\/\/__\/__\当n=3时,再将n=2时的图案向下复制两个,并排,然后将之前的图......
  • 力扣递归之 236. 二叉树的最近公共祖先
    给定一个二叉树,找到该树中两个指定节点的最近公共祖先。百度百科中最近公共祖先的定义为:“对于有根树T的两个节点p、q,最近公共祖先表示为一个节点x,满足x是p、q的祖先且x的深度尽可能大(一个节点也可以是它自己的祖先)。” 示例1:输入:root=[3,5,1,6,2,0,8,null,n......
  • 洛谷题单指南-递推与递归-P1228 地毯填补问题
    原题链接:https://www.luogu.com.cn/problem/P1228题意解读:用4种毯子铺满2^k*2^k的区域,留出一个公主位置,输出所有毯子拐角的坐标以及哪种毯子,看起来有点无从下手,可以从k=1,k=2,k=3入手去依次考虑,找到规律,用分治法解决。解题思路:1、当k=1时,即2*2的区域,对于任意一个位置是公主,都......
  • 洛谷题单指南-递推与递归-P1010 [NOIP1998 普及组] 幂次方
    原题链接:https://www.luogu.com.cn/problem/P1010题意解读:输出一个正整数的2的幂次方表示,需要用到二进制数学知识,将整数拆解成2的次幂之和,幂次方也要进行拆解,因此容易想到通过递归处理。解题思路:先看样例,给定整数137,要拆解成2的幂次方之和,先考虑i使得刚好137>=2^i时,i取7,因此2......
  • 递归调用
    遍历目录和子目录#include<sys/types.h>#include<dirent.h>#include<stdio.h>#include<stdlib.h>#include<string.h>#include<assert.h>voidDIRENT(char*path){ intlen=0; charstr_stu[1024]; structdirent*dir_file; D......
  • 递归学习笔记
    本文同步发表在洛谷博客我们充分发扬人类智慧:将递推和递归混为一谈在\(dp\)的基础上来学递归然后把递推和\(dp\)混为一谈然后我就发现:™的我\(dp\)没学好!然后去学\(dp\),然后发现我递推没学好,所以四舍五入我递归也学不好,那就不学了!好了让我们步入正题正文......
  • 洛谷题单指南-递推与递归-P1259 黑白棋子的移动
    原题链接:https://www.luogu.com.cn/problem/P1259题意解读:要打印最终的状态,关键在找到一些变化的规律,直接的暴力搜索复杂度太高。解题思路:从样例出发ooooooo*******--oooooo--******o*oooooo******--o*ooooo--*****o*o*ooooo*****--o*o*oooo--****o*o*o*oooo****--o*o*o*ooo--......
  • 递归调用和栈溢出
    一、简介    栈溢出:StackOverflow。对于每个程序,栈能使用的内存是有限的,一般是1M-8M,在程序编译时就已经决定了,程序运行期间不能改变。如果程序使用的栈内存超出最大值,就会发生栈溢出错误,程序会崩溃。二、栈溢出的原因    因为每调用一个方法就会在栈上创建一个......