首页 > 其他分享 >POJ3050(DFS)

POJ3050(DFS)

时间:2023-08-23 10:04:02浏览次数:40  
标签:sub int DFS dir path include POJ3050 SIZE


一定要根据数据规模想问题,这题数据规模就不大,时间复杂度大概是O(R*C*dir^step) = O(5*5*4^6)。规模不大,可以无脑DFS,还是这句话,先将简单的写出来再说。

//#define LOCAL

#include <cstdio>
#include <cstring>
#include <algorithm>
#include <set>
#define SIZE 5

using namespace std;

int map[SIZE][SIZE];
set<int> path;
int dir[][2] = {0, 1, 0, -1, 1, 0, -1, 0};

void dfs(int x, int y, int sub_path, int step){
    if(step == SIZE){
        //printf("sub_path:%d\n", sub_path);
        path.insert(sub_path);
        return;
    }   

    for(int i = 0; i < 4; i++){
        int newx = x + dir[i][0];
        int newy = y + dir[i][1];

        if(0 <= newx && newx < SIZE && 
            0 <= newy && newy < SIZE){
            dfs(newx, newy, sub_path * 10 + map[newx][newy], 
            step + 1);
        }
    }
}

int main(void){
#ifdef LOCAL
    freopen("data.in", "r", stdin);
#endif

    for(int i = 0; i < SIZE; i++)
    for(int j = 0; j < SIZE; j++)
        scanf("%d", &map[i][j]);

    for(int i = 0; i < SIZE; i++)
    for(int j = 0; j < SIZE; j++)
        dfs(i, j, map[i][j], 0);

    printf("%d\n", (int)path.size());

    return 0;
}


标签:sub,int,DFS,dir,path,include,POJ3050,SIZE
From: https://blog.51cto.com/u_8999467/7199321

相关文章

  • HDFS的文件系统操作命令
    下面分享一下最近学到的HDFS的有关文件系统操作shell命令一、创建文件夹hadoopfs-mkdir[-p]<path>...hdfsdfs-mkdir[-p]<path>...#hadoopfs-mkdir-p/ijc/bigdata#hdfsfs-mkdir-p/jc/hadoop二、查看指定目录下内容hadoopfs-ls[-h][-R][<path>.......
  • HDFS集群启停命令
    HDFS集群启停命令:一键启停脚本#启动$HADOOP_HOME/sbin/start-dfs.sh#停用$HADOOP_HOME/sbin/stop-dfs.sh独立进程启程#脚本一hadoop-daemon.sh(start|status|stop)(namenode|secondarynamenode|datanode)#举例:hadoop-daemon.shstartdatanode#脚本二hdfs--dae......
  • 在VMware虚拟机集群上部署HDFS集群
    本篇博客跟大家分享一下如何在VMware虚拟机集群上部署HDFS集群一·、下载hadoop安装包进入官网:https://hadoop.apache.org 下载hadoop安装包由于ApacheHadoop是国外网址,下载安装包对于网络要求较高 二、上传压缩包,进行解压在进行解压之前,保证自己已经完成vmwa的黄静配置......
  • Hadoop学习笔记、知识点搭建速过、包含Hadoop集群搭建、HDFS、IDE操作hadoop,DFSShell
    大数据概述......
  • dfs序线段树
    dfs序线段树1.树上操作思路遍历一整棵树,记录一下节点\(u\)的所对应的子树的节点数\(siz_u\)以及\(dfs\)序\(dfn_u\)根据整棵树的\(dfs\)序,我们可以把树变成了一个序列再维护线段树,\(\text{update(l,r,x)}\)表示将\([\text{l,r}]\)上值加上\(x\).\(\text{query(......
  • #yyds干货盘点#FastDFS配置Nginx访问
    下载相关依赖软件包yum-yinstallwgetmakezlibzlib-develgcc-c++libtoolopensslopenssl-develwgethttp://nginx.org/download/nginx-1.10.2.tar.gztar-xzvfnginx-1.10.2.tar.gz安装Nginxcdnginx-1.10.2./configure--prefix=/data/apps/nginx-download\--p......
  • HDFS shell 常用命令
    创建多级目录(-p):hadoopfs-mkdir-p/test/a/b 展示目录:hadoopfs-ls/ 递归展示:hadoopfs-ls-R/ 从HDFS上下载文件到本地:hadoopfs-get/test/a/b/h.txthadoopfs-copyToLocal  /test/a/b/h.txt 从本地上传文件到HDFS:hadoopfs-copyFromLocalhello......
  • DFS
    #include<bits/stdc++.h>usingnamespacestd;inta[5][5]={{0,1,1,0,0},{1,0,1,1,1},{1,1,0,0,0},{0,1,0,0,1},{0,1,0,1,0}};intvis[1001]={0};voiddfs(intx){ vis[x]=1; for(inti=0;i<=4;i++){ if(a[x][i]==1&&vis[i]==0){ cout<<"V&quo......
  • HDU 5495(dfs)
    LCSTimeLimit:6000/3000MS(Java/Others)    MemoryLimit:65536/65536K(Java/Others)TotalSubmission(s):417    AcceptedSubmission(s):216ProblemDescription{a1,a2,...,an} and {b1,b2,...,bn}.Bothsequencesarepermutationof......
  • HDFS工作流程与机制
    1、各个角色的职责主角色:NameNode从而,NameNode成为了访问HDFS的唯一入口从角色:DataNode主角色辅助角色:SecondaryNameNodeNameNode职责:DataNode职责:2、HDFS写数据流程(上传文件)流程图:PipeLine管道:HDFS文件系统的一种数据传输方式ACK应答响应:确认字符(计算机网络相......