• 西北工业大学2010年算法机试分水果


    <span style="color:#cc33cc;">/*
    1327.分水果
    时限:1000ms 内存限制:10000K  总时限:3000ms
    描述
    有一堆水果,需要分给两位小朋友。每个水果都有一个重量,你能给出一个方案,使得两位小朋友分得的重量差值最小吗?
    
    
    输入
    第一行输入水果个数n(1<=n<=20),接下来一行输入n个重量wi(0<=wi<=10^5,且wi为整型)。
    
    
    输出
    输出可以得到的最小差值。
    
    
    输入样例
    5
    10 20 30 10 10
    
    
    输出样例
    By yuan.c
    2014/6/22
    */
    #include<iostream>
    #include<stdio.h>
    #include<math.h>
    using namespace std;
    int n;
    int a[21];
    int sum=0;
    int csum=0;
    int ssum=0;
    int num=0;
    int infer=1000000;
    int kabs(int d)
    {
        if(d>=0)
          return d;
        else return -d;
    }
    
    void backtrack(int k)
    {
        if(k>=n){
           ssum=sum-csum;
           num=csum-ssum;
            if(kabs(num)<infer)
             infer=kabs(num);
          return;}
        csum+=a[k];
        backtrack(k+1);
        csum-=a[k];
        backtrack(k+1);
    
    }
    int main()
    {
        cin>>n;
        for(int i=0;i<n;i++){
          scanf("%d",&a[i]);
          sum=sum+a[i];
        }
        backtrack(0);
        cout<<infer<<endl;
          return 0;
    
    }
    </span>


  • 相关阅读:
    ASP.NET缓存:缓存ASP.NET页
    oracle小技巧:字符串原样输出
    ASP.NET缓存:概述
    如何设计表结构便于treeview显示?
    Delphi VCLSkin 界面美化
    txt文件导入存储过程
    TreeView挺入数据库
    TreeView使用笔记
    TreeView格式
    TreeView学习总结
  • 原文地址:https://www.cnblogs.com/codeyuan/p/4254550.html
Copyright © 2020-2023  润新知