UVA 167 The Sultan's Successors
2016-07-27 21:28
441 查看
UVA-167
题意:八皇后问题升级版,在有值的8×8矩阵上放置八皇后,求最大值。解题思路:八皇后问题,多一个记录总和sum,取最大值。
/************************************************************************* > File Name: UVA-167.cpp > Author: Narsh > > Created Time: 2016年07月27日 星期三 19时00分21秒 ************************************************************************/ #include <iostream> #include <algorithm> #include <cstdio> #include <cstring> using namespace std; int map[10][10],ans,n; bool l[10],zx[50],rx[50]; void dfs(int cur,int sum) { if (cur > 8) { if (sum > ans) ans = sum; return ; } for (int i = 1; i <= 8; i++) if (l[i] && rx[i+cur] && zx[20+cur-i]) { l[i]=false; rx[cur+i]=false; zx[20+cur-i]=false; dfs(cur+1,sum+map[cur][i]); l[i]=true; rx[cur+i]=true; zx[20+cur-i]=true; } } int main() { scanf("%d",&n); while (n--) { ans=0; memset(l,true,sizeof(l)); memset(zx,true,sizeof(zx)); memset(rx,true,sizeof(rx)); for (int i = 1; i <= 8; i++) for (int j = 1; j <= 8; j++) scanf("%d",&map[i][j]); dfs(1,0); printf("%5d\n",ans); } }
相关文章推荐
- Ionic2 Tutorial
- 第十七章 Lights
- HDU Problem 4004 The Frog's Games 【二分】
- **YII** 系列二yii的基本理解
- 第3章 开发支持
- HDU 1698 Just a Hook(线段树区间置换)
- 练习场 1253 Turing equation
- tjut 4630
- 从1到n整数中1出现的次数
- 10009---怎么查看linux版本
- Memcache的最佳实践方案
- 认识Servlet
- 10009---压力测试之badboy和Jmeter的简单使用方法
- HDU 1241 Oil Deposits(深搜基础模板)
- 什么东西只花十分钟,但是受益终身
- laravel5数据库操作
- Ionic环境搭建
- 使用class-dump导出其他应用头文件
- JSTL的配置与使用
- 奇怪的问题,列名无效