#include<iostream>
#include<cmath>
using namespace std;
int vis[9][9];
int n,count=0;
bool check(int x,int y,int c){//c=2代表白皇后,c=3代表黑皇后
for(int i=0;i<n;i++){
for(int j=0;j<n;j++){
if(vis[i][j]==c){
if(i==x||j==y||abs(i-x)==abs(j-y)){
return false;
}
}
}
}
return vis[x][y]==1;
}
void dfs(int x,int c){
if(x==n){
if(c==3){
count++;
}else{
dfs(0,3);
return;
}
}
for(int i=0;i<n;i++){//在当前行,检查每一列的情况
if(check(x,i,c)){
int t=vis[x][i];
vis[x][i]=c;
dfs(x+1,c);
vis[x][i]=t;
}
}
}
int main(){
cin>>n;
for(int i=0;i<n;i++){
for(int j=0;j<n;j++){
cin>>vis[i][j];
}
}
dfs(0,2);
cout<<count<<endl;
return 0;
}
题目1460:蓝桥杯基础练习VIP-2n皇后问题
张小明
前端开发工程师
[技术硬核] 跨境电商供应链的“数据中台”:深度解析 Python+RPA 如何实现 1688 采集与自动上架的无缝流转
Python爬虫 1688采集 数据清洗 ETL 跨境电商RPA 自动上架 供应链数字化前言在跨境电商(Cross-border E-commerce)的精细化运营体系中,供应链响应速度 与 数据质量 是两大核心命门。对于依赖 1688 作为上游货源的卖家(无论是 TikTo…
LeetCode热题100--287. 寻找重复数--中等
题目 给定一个包含 n 1 个整数的数组 nums ,其数字都在 [1, n] 范围内(包括 1 和 n),可知至少存在一个重复的整数。 假设 nums 只有 一个重复的整数 ,返回 这个重复的数 。 你设计的解决方案必须 不修改 数组 nums…
基于Springboot心灵治愈交流平台【附源码+文档】
💕💕作者: 米罗学长 💕💕个人简介:混迹java圈十余年,精通Java、小程序、数据库等。 💕💕各类成品Java毕设 。javaweb,ssm,springboot等项目&#…
Java全栈开发工程师面试实战:从基础到微服务的深度探讨
Java全栈开发工程师面试实战:从基础到微服务的深度探讨 1. 面试开场 面试官(李工):你好,我是李工,今天来聊聊你作为Java全栈开发工程师的经验。先简单介绍一下自己吧。 应聘者(张明)…
IF=10.0!基于中医证候预测胃癌前病变,清华学者机器学习预测模型发文柳叶刀子刊
源自风暴统计网:一键统计分析与绘图的AI网站胃癌前病变(PLGC)是胃癌进展的关键阶段,及时干预可显著降低死亡率。然而,当前筛查策略主要依赖内窥镜检查,不仅费用高、侵入性,在资源有限地区更是难…