UVa 167(八皇后)、POJ2258 The Settlers of Catan——记两个简单回溯搜索
2024-08-30 11:58:05
UVa 167
题意:八行八列的棋盘每行每列都要有一个皇后,每个对角线上最多放一个皇后,让你放八个,使摆放位置上的数字加起来最大。
参考:https://blog.csdn.net/xiaoxiede_wo/article/details/79973171
#include <iostream>
#include <cstring>
#include <iomanip>
using namespace std;
int pic[][];
int ans;
int v[][];
void dfs(int cur,int num){
if(cur==){//出现一组解,看能否更新
ans=max(ans,num);
return ;
}
for(int i=;i<;i++){
if(!v[][i]&&!v[][cur+i]&&!v[][cur-i+]){//v[0] 代表行 v[1]代表副对角线 v[2]代表主对角线
v[][i]=;v[][cur+i]=;v[][cur-i+]=;//选这个点,标记
dfs(cur+,num+pic[cur][i]);//往下搜索
v[][i]=;v[][cur+i]=;v[][cur-i+]=;//复原
}
}
}
int main(){
int n;
cin>>n;
while(n--){
ans=;
memset(v,,sizeof(v));
for(int i=;i<;i++)
for(int j=;j<;j++)
cin>>pic[i][j];
dfs(,);
cout<<setw()<<ans<<endl;//输出有个小坑
}
}
题意:给你点和边的数量,再给你边的连接关系,求最长路径。点可以重复访问,边不行。
参考:https://blog.csdn.net/miranda_ymz/article/details/79274577
#include<iostream>
#include<cstdio>
#include<cstring>
#define N 26
using namespace std;
int n,m,ans;
int edg[N][N],vis[N][N]; void search(int cur,int len){
ans=max(ans,len);
for(int i=;i<n;i++){
if(edg[cur][i]==||vis[cur][i]==) continue;//如果两顶点不相连或已访问过,就跳过
vis[cur][i]=vis[i][cur]=;//选择这个边并继续搜索
search(i,len+);
vis[cur][i]=vis[i][cur]=;//复原 回溯
}
} int main(){
while(scanf("%d%d",&n,&m)!=EOF&&(n||m)){
int a,b;
memset(edg,,sizeof(edg));
for(int i=;i<m;i++){
cin>>a>>b;
edg[a][b]=edg[b][a]=;//连边
}
ans=;
for(int i=;i<n;i++){
memset(vis,,sizeof(vis));//清空访问
search(i,);
}
cout<<ans<<endl;
}
return ;
}
最新文章
- [转载]python:open/文件操作
- Yii 多个子目录同步登录
- 更改localhost默认打开的index.html的地址三步曲
- paip.文件目录操作uAPI php python java对照
- C# 6.0 的新特性
- CDZSC_2015寒假新人(1)——基础 c
- JS 昵称,手机号,邮箱判断
- MVC中下拉框显示枚举项
- python 变量命名规则
- jdk and tomcat 环境变量配置
- 漂亮的代码2:遍历文件夹目录,使用promise
- Java集合总结系列2:Collection接口
- 《javascript 高级程序设计》笔记
- [Nodejs] 用node写个爬虫
- CVTE前端一面
- C++版 - 剑指offer 面试题24:二叉搜索树BST的后序遍历序列(的判断) 题解
- [UE4]点积、余弦和急停
- C# 金额转中文大写
- Incorrect column count: expected 1, actual 5,JdbcTemplate queryForList 出错
- API Test Postman接口测试之高级篇1
热门文章
- [Xcode 实际操作]二、视图与手势-(10)UITapGestureRecognizer手势之单击
- 你了解SVN, CVS等版本控制器吗?
- linux 搭建unixODBC ,并对接 PostgreSQL 9.3.4
- IP服务-4-HSRP,VRRP和GLBP
- java操作redis实现和mysql数据库的交互
- self.navigationController.navigationBar.translucent = YES航栏的属性默认 YES是透明效果并且主view不会偏移 NO是导航栏不透明 主view会向下偏移64px
- django (四) model模型
- AtCoder Regular Contest 078 C
- Java微信公众平台开发(七)--多媒体消息回复之图片回复
- PHP知识点总结2