【HDU 4925】BUPT 2015 newbie practice #2 div2-C-HDU 4925 Apple Tree
http://acm.hust.edu.cn/vjudge/contest/view.action?cid=102419#problem/C
Description
Input
For each test case, two integers N, M (1<=N, M<=100) are given in a line, which denote the size of the map.
Output
Sample Input
2 2
3 3
Sample Output
32
题意:给你n×m的格子,每个格子你可以选择给1,或者使它上下左右(如果有)的数字乘2,你对每个格子操作的先后顺序是自由的,求所有格子数字总和的最大值。
t组(小于100)数据,n和m(1到100)
题解:要使总和最大,那就每隔一个格子给1,使得每个给1的格子周围都是乘2的格子,这样它就乘了最多次2,比如3行4列
1 0 1 0
0 1 0 1
1 0 1 0
这里0表示使周围的乘2,我们的顺序是先给1,再乘2,于是总和是4+8+16+8+4+8=48
法一。
模拟这些格子,根据n和m,构造出上述的01二维数组,再对每个格子判断周围几个0,然后乘几次2,累加答案
代码:
#include<cstdio>
#include<cstring> int ma[][];
int main()
{
int n,m,t,k,ans,u,h;
int ma[][];
scanf("%d",&t); while(t--)
{
memset(ma,,sizeof(ma));
ans=;
k=;
scanf("%d%d",&n,&m);
for(int i=; i<n; i++)
{
for(int j=+k; j<m; j+=)
ma[i][j]=;//设置它为1
k=!k;
}
for(int i=; i<n; i++)
{
for(int j=; j<m; j++)
{
if(ma[i][j])
{
h=;
u=;
if(i->=)if(!ma[i-][j])u++;//如果为0,代表乘2
if(i+<n)if(!ma[i+][j])u++;
if(j->=)if(!ma[i][j-])u++;
if(j+<m)if(!ma[i][j+])u++;
for(int l=; l<=u; l++)h*=;
ans+=h;
}
}
}
printf("%d\n",ans); }
return ; }
法二。
如果行列数之和为奇数,则给1,并且使它周围为乘2,则这个1就要乘几次2了,根据是否在边缘,判断乘几次2,累加答案
代码:
//code from lyt
#include<cstdio>
using namespace std;
int T;
int n,m;
long long ans=;
long long now=;
int main()
{
scanf("%d",&T);
while(T)
{
scanf("%d%d",&n,&m);
ans=;
for(int i=; i<=n; i++)
{
for(int j=; j<=m; j++)
{
if((i+j)&)
{
now=;
if(i>)
now<<=;
if(j>)
now<<=;
if(i<n)
now<<=;
if(j<m)
now<<=;
ans+=now;
}
}
}
printf("%lld\n",ans);
T--;
}
return ;
}
法三。
通过分析推出公式(x表示n,y表示m)
ans=1,当x=1,y=1;
ans=2*(y-1),当x=1,y>1;
ans=(x-1)*2,当x>1,y=1;
ans=(x-1)*8*(y-1),当x>1,y>1;
具体怎么分析推出的,...不详
代码:
//code from zdh
#include<stdio.h>
int T,x,y,s;
int main()
{
scanf("%d",&T);
while(T--)
{
scanf("%d%d",&x,&y);
if(x>)
{
if(y==)
s=(x-)*;
else
s=(x-)**(y-);
}
else
{
if(y==)
s=;
else
s=*(y-);
}
printf("%d\n",s);
}
return ;
}
【HDU 4925】BUPT 2015 newbie practice #2 div2-C-HDU 4925 Apple Tree的更多相关文章
- 【CodeForces 312B】BUPT 2015 newbie practice #3A Archer
题 SmallR is an archer. SmallR is taking a match of archer with Zanoes. They try to shoot in the targ ...
- 【CodeForces 605A】BUPT 2015 newbie practice #2 div2-E - Sorting Railway Cars
http://acm.hust.edu.cn/vjudge/contest/view.action?cid=102419#problem/E Description An infinitely lon ...
- 【UVALive 3905】BUPT 2015 newbie practice #2 div2-D-3905 - Meteor
http://acm.hust.edu.cn/vjudge/contest/view.action?cid=102419#problem/D The famous Korean internet co ...
- 【UVA 401】BUPT 2015 newbie practice #2 div2-B-Palindromes
http://acm.hust.edu.cn/vjudge/contest/view.action?cid=102419#problem/B A regular palindrome is a str ...
- 【UVA 11078】BUPT 2015 newbie practice #2 div2-A -Open Credit System
http://acm.hust.edu.cn/vjudge/contest/view.action?cid=102419#problem/A In an open credit system, the ...
- 【最大流】ECNA 2015 F Transportation Delegation (Codeforces GYM 100825)
题目链接: http://codeforces.com/gym/100825 题目大意: N(N<=600)个点,每个点有个名字Si,R(R<=200)个生产商在R个点上,F(F<= ...
- 【宽搜】ECNA 2015 D Rings (Codeforces GYM 100825)
题目链接: http://codeforces.com/gym/100825 题目大意: 给你一张N*N(N<=100)的图表示一个树桩,'T'为年轮,'.'为空,求每个'T'属于哪一圈年轮,空 ...
- 【宽搜】ECNA 2015 E Squawk Virus (Codeforces GYM 100825)
题目链接: http://codeforces.com/gym/100825 题目大意: N个点M条无向边,(N<=100,M<=N(N-1)/2),起始感染源S,时间T(T<10) ...
- 【VSTS 日志】TFS 2015 Update 1 发布 – Git和TFVC代码库可以混合使用了
Visual Studio Team Foundation Server 2015 Update 1已经发布了. 这是 Team Foundation Server (TFS) 的最新版本,是 Mic ...
随机推荐
- 2014 Super Training #1 C Ice-sugar Gourd 模拟,扫描线
原题 HDU 3363 http://acm.hdu.edu.cn/showproblem.php?pid=3363 给你一个串,串中有H跟T两种字符,然后切任意刀,使得能把H跟T各自分为原来的一半. ...
- tomcat7 - 烫手山芋之热部署
tomcat7部署,项目发布有很多种方式 1. 增量发布,把修改过得那些文件手动上传至tomcat,*.class *.xml 等等,这样的缺点非常大,需要断开tomcat,记住那些你修改过得文件,很 ...
- 台北Unity开发者研讨会 笔记
本文转自:http://ndark.wordpress.com/2013/05/12/20130511-台北unity开发者研讨会-笔记/ (墙外) 说明 本文单纯只是笔记,若有笔误敬请见谅. 相关参 ...
- 使用appscan实现多站扫描简单自动化
因为appscan在新建扫描任务的时候只能输入一个target,并且没有awvs/nessus那样提供web接口,导致我以前一直以为appscan不能像awvs那样批量建立任务自动扫描. 不过,今天要 ...
- Mvc 中ViewBag Model 查找不到解决
按照晚上修改VIew视图中web.config 很显然,没效果... 我的情况是 出现: 我想了下 看下是不是编译器的问题: 我在vs2013中建立 MVC4 然后用 vs2015打开 然后报错- ...
- [转]redis 五种数据类型的使用场景
FROM : http://blog.csdn.net/gaogaoshan/article/details/41039581#t5 String 1.String 常用命令: 除了get.set.i ...
- Wifi开发技术总结1
摘要: 刚刚接触wifi开发的东西,用的模块是 ESP8266-12E. 资料很多,淘宝地址:https://item.taobao.com/item.htm?spm=a1z09.2.9.10.qGL ...
- Java Concurrency in Practice 读书笔记 第二章
第二章的思维导图(代码迟点补上):
- 软件开发之路、Step 1 需求分析
百度百科 需求分析 所谓"需求分析",是指对要解决的问题进行详细的分析,弄清楚问题的要求,包括需要输入什么数据,要得到什么结果,最后应输出什么.可以说,在软件工程当中的“需求分析” ...
- HTTP协议简介2
几个相关的知识点: 客户端发送请求时,请求类型为GET与POST的主要差别是什么? 1.请求类型不同,一个为GET,一个为POST 2.当请求类型为GET时,请求的数据以参数的形式添加到url的后面, ...