POJ-1837 天平问题

原创 2018年04月16日 13:11:15

主要参考https://blog.csdn.net/libin56842/article/details/21116143

题目:http://poj.org/problem?id=1837

题意:有一个天平,左臂右臂各长15,然后给出n,m,n代表有几个挂钩,挂钩给出负数代表在左臂的距离,正数则在右臂

m代表有m个砝码,要你求出使得这个天平保持平衡有几种方法,要求所有砝码全部使用完

思路:首先我们先要明确dp数组的作用,dp[i][j]中,i为放置的砝码数量,j为平衡状态,0为平衡,j<0左倾,j>0右倾,由于j作为下标不能是负数,所以我们要找一个新的平衡点,因为15*20*20 = 7500,所以平衡点设置为7500,

然后我们可以得出动态方程 dp[i][j+w[i]*c[k])+=dp[i-1][j];


#include<cstdio>
#include<iostream>
#include<algorithm>
#include<cstring>
using namespace std;
int dp[21][15005];
int L[21],w[21];
int main()
{
    int C,G;
    while(cin>>C>>G){
        for(int i=1;i<=C;i++){
            cin>>L[i];
        }for(int i=1;i<=G;i++){
            cin>>w[i];
        }
        memset(dp,0,sizeof(dp));
        dp[0][7500]=1;
        for(int i=1;i<=G;i++){
            for(int j=1;j<=15000;j++){
                if(dp[i-1][j]){
                    for(int k=1;k<=C;k++){
                        dp[i][j+w[i]*L[k]]+=dp[i-1][j];
                    }
                }
            }
        }
        cout<<dp[G][7500]<<endl;

    }
}

POJ-1837 天平dp

BalanceTime Limit: 1000MS Memory Limit: 30000KDescription Gigel has a strange “balance” and he...
  • simpsonk
  • simpsonk
  • 2017年04月03日 11:24
  • 135

POJ1837 动态规划 天平问题

具体的看这个人的吧,这道题目蛮好的 http://blog.csdn.net/libin56842/article/details/21116143 然后补充一句,能回到7500的就表示能平衡...
  • zcj5027
  • zcj5027
  • 2016年02月14日 19:43
  • 403

天平秤重问题(三进制)

[问题描述]:  有一只天平和N只砝码,如何设计这N只砝码,才能使这天平能够连续秤出的重量最大?假设砝码的最小单位为1克,秤物时物品放在天平的左边,砝码可以放在右边也可以放在左边,不管放在哪一边只要天...
  • Hackbuteer1
  • Hackbuteer1
  • 2012年03月15日 21:40
  • 3985

百度面试题——天平称重问题

问题描述: 用天平(只能比较,不能称重)从一堆小球中找出其中唯一一个较轻的,使用x 次天平, 最多可以从y 个小球中找出较轻的那个,求y 与x 的关系式。 解题思想: 该题主要考查逻辑...
  • qinghunya
  • qinghunya
  • 2012年09月09日 14:35
  • 3966

天平称量问题

天平称量问题
  • lj_2_0_2
  • lj_2_0_2
  • 2016年05月07日 09:55
  • 928

天平称球问题(二)

12球的问题看似解决了,但是120球称5次呢?下面我将解释一些原理,给大家提供参考,这样以后无论遇到多少个球,你都能知道最少需要多少次了。 下面的证明有很多不严密的地方,请指正。   原理0 ...
  • gogdizzy
  • gogdizzy
  • 2012年06月23日 14:35
  • 2920

【Java实践】十二小球天平三次称重问题

十二个小球用天平三次称重找出其中唯一一个质量不同(或轻或重)的小球,用java代码实现。 思路: 将十二个小球分别标记为A,B,C,D,E,F,G,H,I,J,K,L,将它...
  • sinat_38232376
  • sinat_38232376
  • 2017年09月12日 11:02
  • 389

N球称重问题的一般归纳

听说之前百度有道面试题----八个球中,有一个球是坏球。给你一个天平,如何找到这个坏球并使称重次数最少。 不说那么多废话,答案如下:        分成四份,每份两个球: 2    2     2...
  • fenqiyuanhang
  • fenqiyuanhang
  • 2015年01月31日 23:15
  • 699

天平问题 三进制

我们用一个等臂天平来称物体的质量,如果我们要称的物体质量范围在1到40克(整数),请问我们最少需要几块砝码可以完成这项物体质量的称量?3 4 5 6 7答案4每个砝码对于天平都有三个选择, ...
  • u012063703
  • u012063703
  • 2015年12月14日 12:51
  • 424

POJ 1837 Balance(天平问题 01背包变形)

poj 1837 Balance题目大意 有一个“不寻常”的天平,天平上有C个挂钩,现在有G个物品,问有多少中挂法使得天平平衡(也就是力矩平衡) 分析正如在之前动态规划专题中讲到的,动态规划的核心...
  • mmy1996
  • mmy1996
  • 2017年02月01日 10:51
  • 245
收藏助手
不良信息举报
您举报文章:POJ-1837 天平问题
举报原因:
原因补充:

(最多只允许输入30个字)