棋盘问题 POJ - 1321 (回溯入门,八皇后问题)

2023-11-06

题目链接

AC代码

#include <iostream>
#include <cstring>
#include <cstdio>
#include <algorithm>
using namespace std;
const int manx=1e5+6;
int n,k,ans=0,vis[1005];
char g[1005][1005];
void dfs(int r,int cnt) {
	if(cnt==k){
		ans++;
		return ;
	}
	for(int i=r;i<n;i++){
		for(int j=0;j<n;j++){
			if(g[i][j]=='#'&&!vis[j]){
				vis[j]=1;
				dfs(i+1,cnt+1);//这一行用过了,从下一行开始找 
				vis[j]=0;
			}
		}
	}
}
int main() {
	while(cin>>n>>k&&n!=-1&&k!=-1) {
		memset(vis,0,sizeof(vis));
		ans=0;
		for(int i=0; i<n; i++)cin>>g[i];
		dfs(0,0);
		cout<<ans<<endl;
	}
}
#include <iostream>
#include <cstring>
#include <cstdio>
#include <algorithm>
using namespace std;
const int manx=1e5+6;
int n,k,ans=0,vis[1005];
char g[1005][1005];
void dfs(int r,int cnt) {
	if(cnt==k){
		ans++;
		return;
	}
	for(int i=r;i<=n;i++){
		for(int j=1;j<=n;j++){
			if(g[i][j]=='#'&&!vis[j]){
				vis[j]=1;
				dfs(i+1,cnt+1);//这一行用过了,从下一行开始找 
				vis[j]=0;
			}
		}
	}
}
int main() {
	while(cin>>n>>k&&n!=-1&&k!=-1) {
		memset(vis,0,sizeof(vis));
		ans=0;
		for(int i=1; i<=n; i++)
		for(int j=1; j<=n; j++)cin>>g[i][j];
		//for(int i=1;i<=n;i++)for(int j=1;j<=n;j++)cout<<g[i][j];//z这一种写法J是默认从0开始的,要注意 
		dfs(1,0);
		cout<<ans<<endl;
	}
}

 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

棋盘问题 POJ - 1321 (回溯入门,八皇后问题) 的相关文章

随机推荐

  • 理解期货穿透式监管

    穿透式监管 关于就 关于进一步加强期货经营机构客户交易终端信息 采集有关事项的公告 公开征求意见的通知 期货公司客户交易终端信息采集及接入认证技术规范 简单理解就是 监控中心为了方便监管 需采集所有通过期货公司入场交易的客户的本地终端信息
  • 从键盘读入个数不确定的整数,并判断读入的正数和负数的个数,输入为0时结束程序。

    从键盘读入个数不确定的整数 并判断读入的正数和负数的个数 输入为0时结束程序 题目描述 从键盘读入个数不确定的整数 并判断读入的正数和负数的个数 输入为0时结束程序 解题思路 因为读入的个数不确定 所以需要一个无限循环 当输入为 时 bre
  • leetcode237 删除链表中的节点

    题目 有一个单链表的 head 我们想删除它其中的一个节点 node 给你一个需要删除的节点 node 你将 无法访问 第一个节点 head 示例 输入 head 4 5 1 9 node 5 输出 4 1 9 解释 指定链表中值为 5 的
  • Windows环境MySql8.0忘记root密码重置

    MySQL忘记root密码之后 可以通过skip grant tables来暂时免密登录MySQL 从而修改root密码 但是这种方式一方面有安全隐患 另一方面也并不怎么适用于Windows系统 而且Windows环境下使用skip gra
  • ui-router---$stateProvider

    stateProvider stateProvider state stateName stateConfig Creates a new application state For alternate usage see Object b
  • 安卓逆向入门指南:介绍与准备

    安卓逆向入门指南 介绍与准备 简介 安卓逆向工程是指通过分析 修改和破解安卓应用程序 获取其内部逻辑 探索其实现细节或者进行二次开发的技术过程 在这个系列博客中 我们将介绍安卓逆向的基础知识 常用工具和技术 并通过实例演示来帮助初学者入门
  • 【超简单的串口通信的工作原理】

    下图是电脑收到单片机经过串口发送的信息 那么电脑是如何与单片机进行串口通信的呢 首先 任何一种通信都要包括硬件物理接口和软件通信协议 串口通信物理接口如下图 单片机通过发送端将数据从左往右一位一位按顺序发送 且在发送前 我们需要事先约定好帧
  • HTTPS(二):TLS/SSL四次握手及wireshark抓包分析

    1 TLS SSL四次握手流程图 HTTPS实现安全通信的方法就是在原有的HTTP层与TCP之间加入TLS SSL协议层 收发报文不再使用Socket API 而是调用专门的安全接口 在使用对称密钥加密通信之前 HTTPS需要先使用 密钥交
  • 字体号数与像素对应关系

    英文字体的1磅 相当于1 72 英寸 约等于1 2 8mm 12PT的字打印出来约为4 2mm 网页中12px的字才相当于12像素 虽然 四号 14 72 96 18 6px 更接近 19px 但是因为 18px 是点阵 所以系统还是优先显
  • 如何解决高并发,秒杀问题

    相信不少人会被这个问题困扰 分享大家一篇这样的文章 希望能够帮到你 一 秒杀业务为什么难做 1 im系统 例如qq或者微博 每个人都读自己的数据 好友列表 群列表 个人信息 2 微博系统 每个人读你关注的人的数据 一个人读多个人的数据 3
  • 交通领域开源数据集详细汇总

    一 交通领域开源数据集 1 NGSIM数据集 NGSIM 的全称为 Next Generation Simulation 是由美国联邦公路局发起的一项数据采集项目 被交通界学者广泛用于 车辆跟驰换道等驾驶行为研究 交通流分析 微观交通模型构
  • FPGA project : half_adder

    module half adder input wire data 1 input wire data 2 output reg count output reg sum always begin case data 1 data 2 2
  • 偶然看到DeepFaceLab(DeepFake)在2023年的新动向

    DeepFaceLab相关文章 一 简单介绍DeepFaceLab DeepFake 的使用以及容易被忽略的事项 二 继续聊聊DeepFaceLab DeepFake 不断演进的2 0版本 三 如何翻译DeepFaceLab DeepFak
  • 51单片机AD转换的程序

    void Read init unsigned char CHA unsigned char AD FIN 0 存储A D转换标志 CHA amp 0x07 选择ADC的8个接口中的一个 0000 0111 清0高5位 ADC CONTR
  • video标签常用控制配置,禁用单击暂停,保留双击全屏

  • 关于post()方法运行在哪个线程中

    android中我们常用的post new Runnable 有两种 1 view的post方法 运行在UI线程中 也就是主线程中 2 handler里面的方法运行在handler依附的线程中 可能是主线程 也可能是其他线程 下面是Hand
  • VSCode将一份代码同步到多台服务器的解决方案

    下载插件 首先去 VSCode 插件下载处输入 sftp 有三个 选择第二个 作者是 Natizyskunk 原版作者的仓库已经几年没维护了 有很多 bug 这个老外接手了这个插件并维护 配置config 按住 command shift
  • mac终端命令大全介绍

    OSX 的文件系统 OSX 采用的Unix文件系统 所有文件都挂在跟目录 下面 所以不在要有Windows 下的盘符概念 你在桌面上看到的硬盘都挂在 Volumes 下 比如接上个叫做 USBHD的移动硬盘 桌面上会显示出一个硬盘图标 它实
  • 『OPEN3D』1.1 点云处理 python篇

    目录 1 open3d中的点云IO 2 点云的可视化 3 点云voxel下采样 4 顶点法线估计 5 最小外界矩 6 凸包计算 7 点云距离计算 8 DBSCAN clustering聚类 9 RANSAC Random Sample Co
  • 棋盘问题 POJ - 1321 (回溯入门,八皇后问题)

    题目链接 AC代码 include