题目连接:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemId=5009

题意:给你两个数字,可以把其中一个拆成两个数字,计算这三个数字通过加或者减能组成的最多数字。

分析下三个数通过加或者减的组合以及数据规模来看,直接暴力枚举即可,枚举过程中注意不要有遗漏,最好在心里记个顺序,有条理进行枚举。

反思:当遇到数据规模不大的情况,想不出快捷方法,尝试用暴力试试。

AC代码:

#include <cstdio>
#include <set>
#include <cmath> using namespace std; int test;
int n, m;
int maxn; int solve(int a, int b, int c) {
set<int> s;
s.insert(a);
s.insert(b);
s.insert(c);
s.insert(a + b);
s.insert(a + c);
s.insert(b + c);
s.insert(abs(a - b));
s.insert(abs(a - c));
s.insert(abs(b - c));
s.insert(a + b + c);
s.insert(abs(a + b - c));
s.insert(abs(a + c - b));
s.insert(abs(b + c - a));
s.insert(abs(a - b - c));
int len = s.size();
set<int>::iterator it = s.begin();
if(*it == 0)
len--;
return len;
} int main() {
scanf("%d", &test);
while(test--) {
scanf("%d%d", &n, &m);
maxn = -1;
for(int i = 1; i <= n / 2; i++) {
int len = solve(i, n - i, m);
if(len > maxn)
maxn = len;
}
for(int j = 1; j <= m / 2; j++) {
int len = solve(j, m - j, n);
if(len > maxn)
maxn = len;
}
printf("%d\n", maxn);
}
return 0;
}

[ZOJ 3076] Break Standard Weight的更多相关文章

  1. zoj 3706 Break Standard Weight(dp)

    Break Standard Weight Time Limit: 2 Seconds                                     Memory Limit: 65536 ...

  2. [ACM_水题] ZOJ 3706 [Break Standard Weight 砝码拆分,可称质量种类,暴力]

    The balance was the first mass measuring instrument invented. In its traditional form, it consists o ...

  3. zoj 3706 Break Standard Weight

    /*题意:将两个砝码中的其中一个分成两块,三块组合最多有几种情况(可以只有一块,或者两块). 组合情况 i j m 三块砝码 (i+j)-m=m-(i+j) i+j i-j=j-i  i j m (i ...

  4. ZOJ 3706 Break Standard Weight 解题报告

    题目链接:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemId=5009 题目意思:给出两个mass:x 和 y,问如何将其中一个 ma ...

  5. Break Standard Weight (ZOJ 3706)

    Problem The balance was the first mass measuring instrument invented. In its traditional form, it co ...

  6. HZNU Training 2 for Zhejiang Provincial Collegiate Programming Contest 2019

    赛后总结: T:今天下午参加了答辩比赛,没有给予队友很大的帮助.远程做题的时候发现队友在H上遇到了挫折,然后我就和她们说我看H吧,她们就开始做了另外两道题.今天一人一道题.最后我们在研究一道dp的时候 ...

  7. The 10th Zhejiang Provincial Collegiate Programming Contest

    Applications http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemId=5008 string set 专场 #include& ...

  8. 2012-2014 三年浙江 acm 省赛 题目 分类

    The 9th Zhejiang Provincial Collegiate Programming Contest A    Taxi Fare    25.57% (166/649)     (水 ...

  9. ZCMU训练赛-B(dp/暴力)

    B - Break Standard Weight The balance was the first mass measuring instrument invented. In its tradi ...

随机推荐

  1. JS GZIP压缩

    GZIP压缩,GZIP解压需要用到 pako.js 文件:下载地址:https://download.csdn.net/download/qq_35713752/10627338 使用方法: JS压缩 ...

  2. RocketMQ之八:水平扩展及负载均衡详解

    RocketMQ是一个分布式具有高度可扩展性的消息中间件.本文旨在探索在broker端,生产端,以及消费端是如何做到横向扩展以及负载均衡的. NameServer集群 提供轻量级的服务发现和路由.每个 ...

  3. docker search 报错

    docker 出现 Error response from daemon vim /etc/containers/registries.conf [registries.search]registri ...

  4. Java学习笔记-IO

    IO(Input Output)流,用来处理设备之间的数据传输 IO IO概述 Java对数据的操作是通过流的方式 Java用于操作流的对象都在IO包中 流按操作数据分为两种:字节流与字符流 流按流向 ...

  5. 多线程基础知识---join方法

    join方法的作用 thread.join()方法用于把指定的线程加入到当前线程中,把当前线程的CPU执行时间让给另一个线程.比如在线程B中调用了线程A的Join()方法,直到线程A执行完毕后,才会继 ...

  6. poj3122 Pie (二分)

    题目链接:https://vjudge.net/problem/POJ-3122 题意:有n块饼,m+1个人,将饼均分成m+1块,求每块最大的大小. 思路:水二分,显然每块的大小与可以给多少人吃具有单 ...

  7. Design Circular Queue

    Design your implementation of the circular queue. The circular queue is a linear data structure in w ...

  8. 解决mac启动springboot项目很慢的问题

    1.打开终端输入: hostname 查看电脑名称 2.输入命令修改hosts文件 sudo vi /etc/hosts 3. 在127.0.0.1和::1后边分别增加你的电脑名称 127.0.0.1 ...

  9. acm java入门(转载)

    ACM中java的使用 http://www.cnblogs.com/XBWer/archive/2012/06/24/2560532.html 这里指的java速成,只限于java语法,包括输入输出 ...

  10. BEGIN_MESSAGE_MAP和END_MESSAGE_MAP()

    这两个宏表示这个类的消息映射开始和结束,中间的宏定义定义了此类的所有的消息映射.前面的afx_msg void OnPaint():只是声明OnPaint()函数的一个消息处理函数,然后是OnPain ...