Java教程

贪心算法-活动安排问题

本文主要是介绍贪心算法-活动安排问题,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

//活动安排问题
//问题:设有n个活动的集合C={1,2,…,n},一个资源(如会议室),
//而在同一时间内只能有一个活动使用该资源。
//活动i(i=1,2,...,n)的开始时间si,结束时间fi,且si <fi 。
//活动i占用会议室的时间段为半开区间[si, fi)。
//如果[si, fi)与[sj , fj)不相交,则称活动i与活动j是相容的。
//活动安排问题要求在所给的活动集合中选出最大的相容活动子集,
//也即尽可能地选择更多的活动来使用资源。

①#include <iostream>
using namespace std;
/* run this program using the console pauser or add your own getch, system("pause") or input loop */
void SpecialSort(int p[][2],int n);
void TimeManager(int a[][2],int n);
int main(int argc, char** argv)
{
    int t[6][2]= { {1,3},{2,4},{4,5},{7,8},{5,9},{9,10}};
    TimeManager(t,6);//s[i][j]=*(*(p+i)+j)//形参为int (*a)[n] //n为i的大小
//    SpecialSort(t,4);
    return 0;
}
void SpecialSort(int p[][2],int n)
{
    int tp1,tp2;
    for(int i=0; i&l

这篇关于贪心算法-活动安排问题的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!