⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 有限期任务安排none.cpp

📁 经典算法之:连续邮资问题,全排列问题,有限期任务安排,整数划分问题,装载问题
💻 CPP
字号:
#include <iostream.h>


void main(void)
{
	void fmerge(int x[],int y[],int n);

	int num;
	cout<<"请输入任务数:";
	cin>>num;
	int *a=new int[num];
	int *b=new int[num];
	
	cout<<"请输入各任务期限:";
	for(int i=0;i<num;i++)
		cin>>a[i];
	cout<<"请输入各任务的获利:";
	for(i=0;i<num;i++)
		cin>>b[i];

	fmerge(a,b,num);
	
//	for(i=0;i<num;i++)
//		cout<<a[b[i]];
	

}

void fmerge(int x[],int y[],int n)
{
	int *z=new int[n];
	int max(-1),min,temp1(-1),temp2(-1),total(0);
	for(int i=0;i<n;i++)
	{
		if(max<x[i])	max=x[i];
		z[i]=y[i];
	}

	cout<<"应安排的任务有:";

	for(i=max;i>0;i--)
	{
		min=-1;
		for(int j=0;j<n;j++)
		{
			if(min<z[j]&&x[j]>=i)
			{
				temp1=j;
				min=z[j];
			}
		}
		if(temp1!=temp2)
		{
			cout<<"第"<<temp1+1<<"个 ";
			temp2=temp1;
			z[temp1]=-1;
			total+=y[temp1];
		}
	}
	cout<<endl<<"总共可获利"<<total<<endl;
}


	

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -