Pebbles(hdu 2167)
题意:给定一个N*N的方格,让你在里面取出一些数使其和最大,要求每一个数不能与其相邻的8个数同时取出。
/*
和hdu1565差不多,只不过在更新的时候考虑斜上方的格子对该格子的影响。
*/
#include<cstdio>
#include<iostream>
#include<cstring>
#define N 16
using namespace std;
int dp[N][<<N],a[N][N],n,m;
char ch[N*];
void dfs(int s,int ss,int y,int x,int sum){
if(y>n-){
dp[x+][ss]=max(dp[x+][ss],dp[x][s]+sum);
return;
}
int flag=;
if(s&(<<y)) flag=;
if(y>&&(s&(<<y-))) flag=;
if(y<n-&&(s&(<<y+))) flag=;
if(!flag) dfs(s,ss|(<<y),y+,x,sum+a[x+][y]);
dfs(s,ss,y+,x,sum);
}
void work(){
for(int i=;i<=n;i++)
for(int j=;j<n;j++)
scanf("%d",&a[i][j]);
for(int i=;i<n;i++)
for(int j=;j<(<<n);j++)
dfs(j,,,i,);
int ans=;
for(int i=;i<(<<n);i++)
ans=max(ans,dp[n][i]);
printf("%d\n",ans);
}
int main(){
while(gets(ch)){
memset(dp,,sizeof(dp));
int len=strlen(ch);n=;
if(!len) continue;
for(int i=;i<len;i+=)
a[][n++]=(ch[i]-'')*+ch[i+]-'';
work();
}
return ;
}
Pebbles(hdu 2167)的更多相关文章
- 2道acm编程题(2014):1.编写一个浏览器输入输出(hdu acm1088);2.encoding(hdu1020)
//1088(参考博客:http://blog.csdn.net/libin56842/article/details/8950688)//1.编写一个浏览器输入输出(hdu acm1088)://思 ...
- Bestcoder13 1003.Find Sequence(hdu 5064) 解题报告
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5064 题目意思:给出n个数:a1, a2, ..., an,然后需要从中找出一个最长的序列 b1, b ...
- 2013 多校联合 F Magic Ball Game (hdu 4605)
http://acm.hdu.edu.cn/showproblem.php?pid=4605 Magic Ball Game Time Limit: 10000/5000 MS (Java/Other ...
- (多线程dp)Matrix (hdu 2686)
http://acm.hdu.edu.cn/showproblem.php?pid=2686 Problem Description Yifenfei very like play a num ...
- War Chess (hdu 3345)
http://acm.hdu.edu.cn/showproblem.php?pid=3345 Problem Description War chess is hh's favorite game:I ...
- 2012年长春网络赛(hdu命题)
为迎接9月14号hdu命题的长春网络赛 ACM弱校的弱菜,苦逼的在机房(感谢有你)呻吟几声: 1.对于本次网络赛,本校一共6名正式队员,训练靠的是完全的自主学习意识 2.对于网络赛的群殴模式,想竞争现 ...
- BestCoder Round #69 (div.2) Baby Ming and Weight lifting(hdu 5610)
Baby Ming and Weight lifting Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/65536 K ( ...
- BestCoder Round #68 (div.2) geometry(hdu 5605)
geometry Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others)Total Su ...
- 2013多校联合2 I Warm up 2(hdu 4619)
Warm up 2 Time Limit: 3000/1000 MS (Java/Others) Memory Limit: 65535/32768 K (Java/Others) Total ...
随机推荐
- java基础—GUI编程(一)
一.AWT介绍
- ★iOS 性能测试工具 SDK
一.概括 1. 做一个类似GT的性能测试工具: 2. 第一期主要是CPU.内存功能,要求可以绘制曲线,可以选择曲线区间,自动计算最小值.最大值.均值等,支持曲线全屏显示 目标的视觉效果是类似股票走势图 ...
- mysqlfailover高可用与proxysql读写分离配置
proxysql官方推荐两种高可用方案: 1.MHA+proxysql 2.mysqlrpladmin+proxysql MySQLfailover工具包含在mysqlrpladmin工具中,所以两者 ...
- 05tar命令详解
tar 命令用于对文件进行打包压缩或解压,格式为"tar [选项][文件]". 在Linux 系统中,常见的文件格式比较多,其中主要使用的是 .tar 或者 .tar.gz 或 ...
- MySQL_8.0.15_Windows10_X64 安装教程
最近学习的内容涉及到MySQL的知识,所以安装一个MySQL非常有必要,参考别人的教程安装过程还算顺利,其中遇到了一些问题查了一些也解决了,这里把整个安装过程梳理一遍,给大家一个参考. 我手里的电脑是 ...
- Python基础——字符串操作
运算符 加(+) str2="hello"+"python" print(str2) 乘(*) str1="hello python" ...
- 安装ipython的情况总结
在知乎上看待一位朋友的Python的学习记录,准备跟着学一下.这位朋友用了ipython(因为他主要做科学计算,我自己将来要学习数据科学,感觉很合适),酒准备安装一下ipython,没想到出了不少问题 ...
- Python PycURL的安装使用
PycURL中文简介:https://blog.csdn.net/qq_41185868/article/details/80487014 PycURL英文简介(如下):http://pycurl.i ...
- C与C++接口相互调用
转载于:http://blog.csdn.net/lincoln_2012/article/details/50801080 项目中经常使用C和C++混合编程,那么,在调用对方接口时,总是不可避免地出 ...
- VS2017生成.net core项目报错:The current .NET SDK does not support targeting .NET Core 2.1. Either
今天在生成一个项目的时候,生成报错,错误如下:The current .NET SDK does not support targeting .NET Core 2.1. Either target ...