首页 > 其他分享 >P1219 八皇后 Checker Challenge(深度搜索dfs经典问题+回溯)

P1219 八皇后 Checker Challenge(深度搜索dfs经典问题+回溯)

时间:2023-07-27 12:44:20浏览次数:41  
标签:java int Challenge dfs util Checker static import new

题目连接:P1219 [USACO1.5] 八皇后 Checker Challenge - 洛谷 | 计算机科学教育新生态 (luogu.com.cn)

 典型的深度优先搜索的问题----》先付代码再来跟新

java组代码

package PTACZW;
import java.util.Scanner;
import java.io.*;
import java.util.Set;
import java.util.HashSet;
import java.math.BigInteger;
import java.util.Collections;
import java.util.ArrayList;
import java.util.StringTokenizer;

public class Main{
    static BufferedReader reader=new BufferedReader(new InputStreamReader(System.in));
    static PrintWriter pw=new PrintWriter(new OutputStreamWriter(System.out));
    static StringTokenizer tokenizer=new StringTokenizer("");
    static String next() throws IOException {
        while (!tokenizer.hasMoreTokens()) {
            tokenizer = new StringTokenizer(reader.readLine());
        }
        return tokenizer.nextToken();
    }
    static int nextInt() throws IOException
    {
        return Integer.parseInt(next());
    }
    static double Double() throws IOException
    {
        return Double.parseDouble(next());
    }
    static long nextlong() throws IOException
    {
        return Long.parseLong(next());
    }
    //快速输入输出模板
    static int[]a=new int[100];
    static int[]b=new int[100];
    static int[]c=new int[100];
    static int[]d=new int[100];
    static int total;
    static int n;
    public static void main(String[]args)throws IOException
    { 
        n=nextInt();
        dfs(1);
        pw.println(total);
        pw.flush();
        pw.close();
        
    }
    public static void show()
    {
        if(total<=2)
        {
            for(int i=1;i<=n;i++)
            {
                pw.print(a[i]+" ");
                pw.flush();
            }
            pw.println();
        }
        total++;
    }
    public static void dfs(int i)
    {
        if(i>n)
        {
            show();
        }
        else {
            for(int j=1;j<=n;j++)
            {
                if(b[j]==0&&c[i+j]==0&&d[i-j+n]==0)
                {
                    a[i]=j;
                    b[j]=1;
                    c[i+j]=1;
                    d[i-j+n]=1;
                    dfs(i+1);
                    b[j]=0;
                    c[i+j]=0;
                    d[i-j+n]=0;
                }
            }
        }
    }
    
}

 

标签:java,int,Challenge,dfs,util,Checker,static,import,new
From: https://www.cnblogs.com/liliczw2209/p/17584660.html

相关文章

  • uva 784 Maze Exploration(DFS遍历图)
                            uva784MazeExplorationmaze(迷宫)ofrectangular(矩形的)roomsisrepresentedonatwodimensional(空间的)gridasillustrated(阐明)infigure1a.Eachpointofthegridisrepresentedbyacharacter.Thepoint......
  • 英杰们的蛋糕塔(dfs)(难)
     题解:这道题的关键是找到状态转移方程,从最底层(n)开始,计算上面全部(n,n-1,n-2……1)层的总表面积和总体积,从而来确定使表面积最小的S1#include<bits/stdc++.h>2usingnamespacestd;3#defineS(r)((r)*(r))//底面积4#defineC(r,h)(2*......
  • linux下载安装fastdfs和fastdfs与nginx整合、springboot访问fastdfs
    文章目录需求分析分布式文件系统1FastDFS安装FastDFS和nginx整合2.整合java访问fastdfs服务文件上传查询下载测试整合springboot需求分析搭建fastDFS文件服务器1)安装fastDFStracker和storage2)在storageserver上安装nginx在storageserver上安装nginx的目的是对外通过http访问......
  • HDFS High Availability
    HDFSHighAvailabilityHDFSHighAvailabilityPurposeNote:UsingtheQuorumJournalManagerorConventionalSharedStorageBackgroundArchitectureHardwareresourcesDeploymentConfigurationoverviewConfigurationdetailsDeploymentdetailsAdministrativecommandsA......
  • HDFS High Availability Using the Quorum Journal Manager
    HDFSHighAvailabilityUsingtheQuorumJournalManagerHDFSHighAvailabilityUsingtheQuorumJournalManagerPurposeNote:UsingtheQuorumJournalManagerorConventionalSharedStorageBackgroundArchitectureHardwareresourcesDeploymentConfigurationoverv......
  • 组合的输出 dfs
    #include<bits/stdc++.h>usingnamespacestd;inta[101];intm,n;voids(intk){inti;if(k>m){for(i=1;i<=m;i++){cout<<setw(3)<<a[i];}cout<<endl;return;}for......
  • 搜索(DFS/BFS)
    广度优先搜索(BFS)基本要点: -利用队列(先进先出) -一层一层搜索 -适合于连通块的搜索 -任何的BFS都可以转化为对树的广搜基本流程: -选择搜索的起点,起点入队,起点标记为已访问 -队列非空时,循环出队,每次出队将与出队元素连通的且未访问过的元素依次入队,并......
  • 冷门科技 —— DFS 序求 LCA
    Updateon2023.7.17:该技巧目前已知的最早来源:skip2004。Updateon2023.7.17:比较时,取时间戳较小的结点也是正确的,不用记录深度。DFS序求LCA无论是从时间常数,空间常数还是好写程度方面均吊打欧拉序。定义DFS序表示对一棵树进行深度优先搜索得到的结点序列,而时间戳DFN......
  • 小明以 hadoop 用户身份在 HDFS 上 hadoop 目录下创建 expl 目录时,发现该目
    使用Hadoop创建目录引言Hadoop是一个开源的分布式计算框架,提供了可靠性和高可扩展性的存储和处理大数据的能力。其中的分布式文件系统HDFS(HadoopDistributedFileSystem)是Hadoop的核心组件之一,用于存储和管理海量数据。在HDFS上进行目录和文件的操作是使用Hadoop命令行工具或者......
  • SaeweedFS操作
    #mdir存储元数据的数据目录#port监听端口#peers主节点ip:端口#defaultReplication备份策略#ip服务器ip#garbageThreshold清空和回收空间的阈值#maxCpu最大cpu数量,0是所有#pulseSeconds心跳检测的时间间隔单位为秒#ip.bind绑......