会场安排问题(算法实现题4-1)

博客分享了一道关于会场安排的算法实现题目,作者提到解题后发现答案简单,但仍然提供了算法的时间复杂度分析及代码实现,时间复杂度为O(n(k+nlogn))。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

会场安排问题:做完之后发现答案很简单,很气,但还是把自己写的贴上来。

#include<iostream>
#include<algorithm>
using namespace std;

void Put(int n,int start[],int end[],int mark[],int space[]){

	for(int i=0;i<n;i++)
	{
		space[i] = 0;	
		mark[i] = 0;
	}

	int count=0;  

			for( int i=0;i<n;i++){
				cout<<"count= "<<count<<endl;
				cout<<"会场当前结束时间:	"; 
				
				for(int k=0;k<=count;k++)
					cout<<space[k]<<" ";
							
				sort(space,space+count+1);
				
				cout<<"\n会场当前结束时间排序后:	"; 				
				for(int k=0;k<=count;k++)
					cout<<space[k]<<" ";
				cout<<endl;
				
				for(int j=0;j<=count;j++){
					if(start[i] > space[j]){
						mark[i] = 1;
						space[j] = end[i];
						cout<<"end["<<i<<"] = "<<end[i]<<"	space[ "<<j<<"]= "<<space[j]<<endl; 
						break;
					}
							
				}
					if(mark[i] !=1) {
						count++;
						space[cou
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值