| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1356 人关注过本帖
标题:一列数分两组,使其和的差最小
取消只看楼主 加入收藏
diaoxue
Rank: 1
等 级:新手上路
帖 子:142
专家分:0
注 册:2007-6-1
收藏
 问题点数:0 回复次数:1 
一列数分两组,使其和的差最小
每次都问大家问题
这次贴个我调试好的 呵呵
#include <iostream.h>
#include <math.h>

int t=0;
int minus=1000;
const int n=5;
int a[n]={15,14,11,10,8};
int x[n]={0};
void Disp()
{
    int sleft=0,sright=0;
    for(int i=0;i<n;i++)
    {
        if(x[i]==0)
            sleft+=a[i];
        else if(x[i]==1)
            sright+=a[i];
    }
        int temp=abs(sleft-sright);
        if(temp<minus)
        {
            minus=temp;
            cout<<"The smallest [color=#ff0000]minus is:"[/color];
            cout<<minus<<endl;
            for(int i=0;i<n;i++)
                cout<<x[i]<<"\t";
            cout<<endl;
        }
}
void BackT(int t)
{
    if(t>=n)
        Disp();
    else
        for(int j=0;j<2;j++)
        {
            x[t]=j;
            BackT(t+1);
        }
}
int main(int argc,int *argv)
{
    BackT(t);
    return 0;
}
感觉每次都要计算,没加约束条件
以后再优化吧
高手也可以帮忙优化下啊,谢了
2007-12-04 17:19
diaoxue
Rank: 1
等 级:新手上路
帖 子:142
专家分:0
注 册:2007-6-1
收藏
得分:0 
[url]http://www.[/url]
大家有时间看看啊
谢谢LS

上善若水,水善利万物而不争,处众人之所恶
2007-12-08 15:06
快速回复:一列数分两组,使其和的差最小
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.024090 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved