HDU 5616 Jam's balanceJam的天平

Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others)

 

Problem Description - 题目描述

  Jim has a balance and N weights. (1≤N≤20)
  The balance can only tell whether things on different side are the same weight.
  Weights can be put on left side or right side arbitrarily.
  Please tell whether the balance can measure an object of weight M.

Jim 有一个天平和N块砝码。(≤N≤)
使用天平只能得知两端质量是否相等。
砝码可以放置在左右任意一端。
判断天平能否测量质量为M的物体。

CN

Input - 输入

  The first line is a integer T(1≤T≤5), means T test cases.

  For each test case :

  The first line is N, means the number of weights.

  The second line are N number, i'th number wi(1≤wi≤100)means the i'th weight's weight is wi.

  The third line is a number MM is the weight of the object being measured.

第一行有一个整数T(≤T≤),表示测试用例数。
对于每组测试用例:
第一行为N,表示砝码数。
第二行有N个数,第i个数wi(≤wi≤)表示
第三行有一个整数M。M为待测物体质量。

CN

Output - 输出

  You should output the "YES"or"NO".

输出"YES"or"NO"。

CN

Sample Input - 输入样例

1
2
1 4
3
2
4
5

Sample Output - 输出样例

NO
YES
YES

Hint - 提示

  For the Case 1:Put the 4 weight alone

  For the Case 2:Put the 4 weight and 1 weight on both side

例子1:一端放置4
例子2:放置4和1在同一端

CN

题解

  DP水题,先算+,再算-,没了。

代码 C++

 #include <cstdio>
#include <cstring>
#define MX 1500
bool dp[MX];
int main() {
int t, n, i, j, data[];
scanf("%d", &t);
while (t--) {
scanf("%d", &n);
for (i = ; i < n; ++i) scanf("%d", data + i);
memset(dp, , sizeof dp); dp[] = ;
for (i = ; i < n; ++i) {
for (j = MX; ~j; --j) if (dp[j]) dp[j + data[i]] = ;
}
for (i = ; i < n; ++i) {
for (j = data[i]; j < MX; ++j) if (dp[j]) dp[j - data[i]] = ;
}
scanf("%d", &n);
for (i = ; i < n; ++i) {
scanf("%d", &j);
dp[j] ? puts("YES") : puts("NO");
}
}
return ;
}

HDU 5616 Jam's balance(Jam的天平)的更多相关文章

  1. HDU 5616 Jam's balance(DP)

    题目网址:http://acm.hdu.edu.cn/showproblem.php?pid=5616 题目: Jam's balance Time Limit: 2000/1000 MS (Java ...

  2. HDU 5616 Jam's balance(01背包)

    题目网址:http://acm.hdu.edu.cn/showproblem.php?pid=5616 题目: Jam's balance Time Limit: 2000/1000 MS (Java ...

  3. HDU 5616 Jam's balance 背包DP

    Jam's balance Problem Description Jim has a balance and N weights. (1≤N≤20)The balance can only tell ...

  4. hdu 5616

    Jam's balance Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others)Tot ...

  5. hdu 5616 Jam's balance 正反背包+转换

    http://acm.hdu.edu.cn/showproblem.php?pid=5616 思路 题目中蕴含着两种需要计算的重量 1. 从所有的砝码中挑出任意种2.(转换的思想)在天平的两端都挑出这 ...

  6. HDU 5616:Jam's balance(背包DP)

    http://acm.hdu.edu.cn/showproblem.php?pid=5616 题意:有n个物品,每个重量为w[i],有一个天平,你可以把物品放在天平的左边或者右边,接下来m个询问,问是 ...

  7. Jam's balance HDU - 5616 (01背包基础题)

    Jim has a balance and N weights. (1≤N≤20) The balance can only tell whether things on different side ...

  8. hdu 5616 Jam's balance(dp 正反01背包)

    来自官方题解: AC代码: #pragma comment(linker, "/STACK:1024000000,1024000000") #include<iostream ...

  9. HDU 5616 Jam's balance

    背包.dp[i]=1表示i这种差值能被组合出来,差值有负数,所以用sum表示0,0表示-sum,2*sum表示sum. 询问X的时候,只需看dp[sum+X]或者dp[sum-X]是否有一个为1,注意 ...

随机推荐

  1. SQL中ON和WHERE的区别(转)

    原文:https://www.cnblogs.com/guanshan/articles/guan062.html 数据库在通过连接两张或多张表来返回记录时,都会生成一张中间的临时表,然后再将这张临时 ...

  2. HBase JavaAPI

    一.概念 1.对HBase JavaAPI的概述: 01.hbase使用java语言编写,自然支持java编程 02.支持CRUD操作 03.JavaAPI包含了所有的hbase的shell,甚至比这 ...

  3. afn3.0源码解析---AFURLRequestSerialization

    AFHTTPRequestSerialization: @方法1 - (NSMutableURLRequest *)requestWithMethod:(NSString *)method URLSt ...

  4. ADB——管理应用

    ADB应用管理 主要操作有查看应用列表.安装应用.卸载应用.清楚应用数据与缓存.查看前台Activity.查看应用信息及安装路径等等 查看应用列表 查看应用列表的基本命令格式是 adb shell p ...

  5. Asp.net Web Api开发(第四篇)Help Page配置和扩展

    https://blog.csdn.net/sqqyq/article/details/52708613

  6. encodeURIComponent 和 decodeURIComponent 对字符串url编码 用于url拼字符传值

  7. dubbo搭建

    1.安装java : yum install java 2.下载Tomcat: wget http://mirrors.shu.edu.cn/apache/tomcat/tomcat-9/v9.0.1 ...

  8. JSON错误

    今天遇到了json转换的错误. 原因:少导入了jar包 解决方法把所有的jar导入

  9. Oracle 10g 使用REGEXP_SUBSTR 分拆字符串 (转)

    SELECT l_count, REGEXP_SUBSTR('add, daddf, dsdf, asdfa, dsfasd, dsfad','[^,]+',1,l_count) AS NAME  F ...

  10. day19 python之re模块正则练习

    1.匹配标签 import re ret = re.search("<(?P<tag_name>\w+)>\w+</(?P=tag_name)>" ...