| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1022 人关注过本帖
标题:我编的程序怎么内存指令错误啊,有人能指导我怎么做吗
取消只看楼主 加入收藏
我是菜鸟啊
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2006-10-9
收藏
 问题点数:0 回复次数:0 
我编的程序怎么内存指令错误啊,有人能指导我怎么做吗
独立任务最优调度问题
用2台处理机A和B处理n个作业,设第i个作业交给机器A处理需要时间ai,若由B来处理,所需时间为bi.一个作业不能分开由2台机器处理,也没有一个机器同时处理2个作业.设计一个动态规划算法,使得2台机器处理完n个作业所需时间最短.
请求各位帮帮忙啊


#include<stdio.h>
#include<stdlib.h>
#include<iostream.h>
#include<memory>
using namespace std;
template<class T>
void Make3DArray(T*** & mats, const int& n, const int& dimension)
{
mats=new T** [n];
for(int i=0;i<n;i++)
{
mats[i]=new T*[dimension];
for(int j=0;j<dimension;j++)
{
mats[i][j]=new T[dimension];
memset(&mats[i][j][0], T(0),sizeof(T)*dimension);
}
}
}
void dyna(){
int i,j,k,opt;
int n,mn,m=0;
int ***p;
cin>>n;
int *a=new int[n];int *b=new int[n];
for(i=0;i<n;i++)
{cin>>a[i];if(a[i]>m) m=a[i];}
for(i=0;i<n;i++)
{cin>>b[i];if(b[i]>m) m=b[i];}
mn=m*n;
Make3DArray(p,mn+1,n+1);
for(i=0;i<=mn;i++)
for(j=0;j<=mn;j++){
p[i][j][0]=true;
for(k=1;k<=n;k++) p[i][j][k]=false;
}
for(k=1;k<=n;k++)
for(i=0;i<=mn;i++)
for(j=0;j<=mn;j++){
if(i-a[k-1]>=0) p[i][j][k]=p[i-a[k-1]][j][k-1];
if(j-b[k-1]>=0) p[i][j][k]=(p[i][j][k]||p[i][j-b[k-1]][k-1]);
}
for(i=0,opt=mn;i<=mn;i++)
for(j=0;j<=mn;j++)
if(p[i][j][n]){
int tmp=(i>j)?i:j;
if(tmp<opt) opt=tmp;
}
cout<<opt<<endl;
}
int main()
{
dyna();
return 0;
}
搜索更多相关主题的帖子: 内存 指令 指导 
2006-10-09 19:35
快速回复:我编的程序怎么内存指令错误啊,有人能指导我怎么做吗
数据加载中...
 
   



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

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