算法分析与设计——贪心算法活动安排问题c++

#include <iostream>

using namespace std;
int s[]={
    
    0,1,3,0,5,3,5,6,8,8,2,12},f[]={
    
    0,4,5,6,7,8,9,10,11,12,13,14};
bool a[11];
int n=11;

int Selector()
{
    
    
	a[1]=true;
	int j=1;
	int count=1;
	for(int i=2;i<=n;i++){
    
    
		if(s[i]>=f[j]){
    
    
			a[i]=true;
			count++;
			j=i;
		}
		else{
    
    
			a[i]=false;
		}
	}
	return count;
}
int main()
{
    
    
	for(int i=1;i<=11;i++){
    
    
		cout<<i<<" ";
	}
	cout<<endl;
	for(int i=1;i<=11;i++){
    
    
		cout<<s[i]<<" ";
		
	}
	cout<<endl;
	int count=Selector();
	for(int i=0;i<=n;i++){
    
    
		if(a[i]){
    
    
			cout<<i<<" ";
		}
	}
	
}

猜你喜欢

转载自blog.csdn.net/weixin_44044395/article/details/112233853