• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            poj1837

            Balance

            Time Limit: 1000MS Memory Limit: 30000K
            Total Submissions: 6149 Accepted: 3687

            Description

            Gigel has a strange "balance" and he wants to poise it. Actually, the device is different from any other ordinary balance.
            It orders two arms of negligible weight and each arm's length is 15. Some hooks are attached to these arms and Gigel wants to hang up some weights from his collection of G weights (1 <= G <= 20) knowing that these weights have distinct values in the range 1..25. Gigel may droop any weight of any hook but he is forced to use all the weights.
            Finally, Gigel managed to balance the device using the experience he gained at the National Olympiad in Informatics. Now he would like to know in how many ways the device can be balanced.

            Knowing the repartition of the hooks and the set of the weights write a program that calculates the number of possibilities to balance the device.
            It is guaranteed that will exist at least one solution for each test case at the evaluation.

            Input

            The input has the following structure:
            • the first line contains the number C (2 <= C <= 20) and the number G (2 <= G <= 20);
            • the next line contains C integer numbers (these numbers are also distinct and sorted in ascending order) in the range -15..15 representing the repartition of the hooks; each number represents the position relative to the center of the balance on the X axis (when no weights are attached the device is balanced and lined up to the X axis; the absolute value of the distances represents the distance between the hook and the balance center and the sign of the numbers determines the arm of the balance to which the hook is attached: '-' for the left arm and '+' for the right arm);
            • on the next line there are G natural, distinct and sorted in ascending order numbers in the range 1..25 representing the weights' values.

            Output

            The output contains the number M representing the number of possibilities to poise the balance.

            Sample Input

            2 4	
            -2 3 
            3 4 5 8
            

            Sample Output

            2

            額, 現在看見英語的描述就惡心,強忍著看明白的,

            就是有個天平,上面有許多掛砝碼的位置,然后給你許多砝碼,問共有多少種方法使得天平平衡

            第一行給出位置數和砝碼,第二行給出位置,從小到大的

            第三行給出每個砝碼的重量。

            很顯然的背包

            f[i][j+a[k]*b[i]]=f[i-1][j]+f[i][j+a[k]*b[i]];

            我覺得這個方程特別丑,等會再改改

             1#include<stdio.h>
             2#include<string.h>
             3#include<math.h>
             4int i,j,k,n,m;
             5int a[25],b[25];
             6int f[25][15100];
             7int main()
             8{
             9    scanf("%d%d",&n,&m);
            10    for (i=1; i<=n ; i++) scanf("%d",&a[i]);
            11    for (i=1; i<=m ; i++) scanf("%d",&b[i]);
            12    memset(f,0,sizeof(f));
            13    f[0][7500]=1;
            14    for (i=1; i<=m ; i++ )
            15        for (j=1; j<=15000 ; j++ )
            16            for (k=1; k<=n ; k++ )
            17                if (f[i-1][j]>0)
            18                {
            19                    f[i][j+b[i]*a[k]]=f[i][j+b[i]*a[k]]+f[i-1][j];
            20                }

            21    printf("%d\n",f[m][7500]);
            22    return 0;
            23}

            24




            這樣就好多了

            f[i][j]=f[i-1][j-b[i]*a[k]]+f[i][j]

             1#include<stdio.h>
             2#include<string.h>
             3#include<math.h>
             4int i,j,k,n,m;
             5int a[25],b[25];
             6int f[25][15100];
             7int main()
             8{
             9    scanf("%d%d",&n,&m);
            10    for (i=1; i<=n ; i++) scanf("%d",&a[i]);
            11    for (i=1; i<=m ; i++) scanf("%d",&b[i]);
            12    memset(f,0,sizeof(f));
            13    f[0][7500]=1;
            14    for (i=1; i<=m ; i++ )
            15       
            16            for (k=1; k<=n ; k++ )
            17                 for (j=a[k]*b[i]+1; j<=15000 ; j++ )
            18                if (f[i-1][j-a[k]*b[i]]>0)
            19                {
            20                    f[i][j]=f[i][j]+f[i-1][j-a[k]*b[i]];
            21                }

            22    printf("%d\n",f[m][7500]);
            23    return 0;
            24}

            25

            posted on 2012-02-19 21:25 jh818012 閱讀(387) 評論(0)  編輯 收藏 引用

            <2025年7月>
            293012345
            6789101112
            13141516171819
            20212223242526
            272829303112
            3456789

            導航

            統計

            常用鏈接

            留言簿

            文章檔案(85)

            搜索

            最新評論

            • 1.?re: poj1426
            • 我嚓,,輝哥,,居然搜到你的題解了
            • --season
            • 2.?re: poj3083
            • @王私江
              (8+i)&3 相當于是 取余3的意思 因為 3 的 二進制是 000011 和(8+i)
            • --游客
            • 3.?re: poj3414[未登錄]
            • @王私江
              0ms
            • --jh818012
            • 4.?re: poj3414
            • 200+行,跑了多少ms呢?我的130+行哦,你菜啦,哈哈。
            • --王私江
            • 5.?re: poj1426
            • 評論內容較長,點擊標題查看
            • --王私江
            国产精品熟女福利久久AV| 2021精品国产综合久久| 亚洲欧美国产精品专区久久| 国产精品青草久久久久婷婷| 国产69精品久久久久99尤物| 一本一本久久A久久综合精品| 欧美亚洲色综久久精品国产| 亚洲人成无码久久电影网站| 精品熟女少妇aⅴ免费久久| 欧美亚洲另类久久综合| 国产亚洲色婷婷久久99精品| 久久天天躁狠狠躁夜夜avapp| 精品久久久久中文字| 一本色道久久综合狠狠躁篇| 国产A三级久久精品| 久久精品国产亚洲一区二区| 国产V综合V亚洲欧美久久| 99久久人妻无码精品系列蜜桃| 五月丁香综合激情六月久久| 77777亚洲午夜久久多人| 久久免费线看线看| 久久99热这里只有精品国产| 国内精品久久久久| 久久久亚洲精品蜜桃臀| 人人妻久久人人澡人人爽人人精品| 久久久国产精华液| 国产成人久久精品一区二区三区| 久久一区二区三区免费| 99久久精品费精品国产一区二区 | 久久夜色精品国产| 久久精品国产一区| …久久精品99久久香蕉国产| 99久久精品无码一区二区毛片| 欧美丰满熟妇BBB久久久| 无码人妻精品一区二区三区久久久| 久久国内免费视频| 久久99免费视频| 久久婷婷人人澡人人| 国产精品久久久久久吹潮| 日韩人妻无码精品久久免费一| 久久精品无码一区二区无码 |