有若干个活动,第i个开始时间和结束时间是[Si,fi),只有一个教室,活动之间不能交叠,求最多安排多少个活动?
 #include <stdio.h>
#include <stdlib.h>
#define N 10000
/*
@活动安排问题
@作者:hjf
*/
void greed(struAcvity a[],int n);
void sort(struAcvity a[],int n);
struct activity
{
int st;
int ft;
int Ans;
};
typedef struct activity struAcvity;
int main()
{
int n,i,j,cnt=;
scanf("%d",&n);
struAcvity a[n];
for(i=;i<n;i++)
scanf("%d %d",&a[i].st,&a[i].ft);
greed(a, n);
//printf("%d\n%d\n%d\n%d\n",a[0].ft,a[1].ft,a[2].ft,a[3].ft);
for(j=;j<n;j++)
if(a[j].Ans==)
cnt++;
printf("%d",cnt);
return ;
}
void greed(struAcvity a[],int n)
{
int i,j,fData=,sData;
for(i=;i<n;i++)
{
a[i].Ans=;
if(a[i].ft<fData)
fData=a[i].ft;
}
sort(a,n);//printf("%d\n",fData);
for(i=;i<n;i++)
{
if(a[i].st>=fData||a[i].ft==fData)
{
a[i].Ans=;
fData=a[i].ft;
}
} }
void sort(struAcvity a[],int n)
{
int i,j,minftIndex;
struAcvity temp;
for(i=;i<n-;i++)
{
minftIndex=i;
for(j=i+;j<n;j++)
if(a[minftIndex].ft>a[j].ft)
minftIndex=j;
if(minftIndex!=i)
{
temp=a[minftIndex];
a[minftIndex]=a[i];
a[i]=temp;
}
}
}

C语言 活动安排问题的更多相关文章

  1. C语言 活动安排问题之二

    有若干个活动,第i个开始时间和结束时间是[Si,fi),活动之间不能交叠,要把活动都安排完,至少需要几个教室? #include <stdio.h> #include <string ...

  2. 51Nod 1428 活动安排问题

    51Nod   1428  活动安排问题 Link: http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1428 1428 活 ...

  3. hdu 2037简单贪心--活动安排问题

    活动安排问题就是要在所给的活动集合中选出最大的相容活动子集合,是可以用贪心算法有效求解的很好例子.该问题要求高效地安排一系列争用某一公共资源的活动.贪心算法提供了一个简单.漂亮的方法使得尽可能多的活动 ...

  4. 51nod 1428 活动安排问题(优先队列)

    1428 活动安排问题 首先按照开始时间从小到大排序. 其实只要维护一个结束时间的最小堆,每次比较开始时间和堆中最小时间的大小,如果比它大就放入堆中并且时间就要变成当前任务的结束时间, 否则就要新开一 ...

  5. 忙碌的Nova君 (活动安排问题、贪心算法)

    题目描述 理论上,Nova君是个大闲人,但每天还是有一大堆事要干,大作业啦,创新杯啦,游戏啦,出题坑人啦,balabala......然而精力有限,Nova君同一时间只能做一件事,并不能一心二用.假设 ...

  6. hdu2037-----------贪心, 活动安排问题

    http://acm.hdu.edu.cn/showproblem.php?pid=2037(简单贪心-----活动安排) #include<iostream> #include<a ...

  7. hdu2037今年暑假不AC(贪心,活动安排问题)

    今年暑假不AC Time Limit : 2000/1000ms (Java/Other)   Memory Limit : 65536/32768K (Java/Other) Total Submi ...

  8. A - 活动安排问题(贪心)

    A - 活动安排问题 有若干个活动,第i个开始时间和结束时间是[Si,fi),同一个教室安排的活动之间不能交叠,求要安排所有活动,最少需要几个教室?  Input第一行一个正整数n (n <= ...

  9. [C++] 贪心算法之活动安排、背包问题

    一.贪心算法的基本思想 在求解过程中,依据某种贪心标准,从问题的初始状态出发,直接去求每一步的最优解,通过若干次的贪心选择,最终得出整个问题的最优解. 从贪心算法的定义可以看出,贪心算法不是从整体上考 ...

随机推荐

  1. c++多重继承

    可以在子类中通过基类名访问函数 // oj4.cpp : Defines the entry point for the console application.// #include "s ...

  2. jquery-三级联动

    html <!DOCTYPE html> <html> <head> <meta charset=gbk /> <title>selectL ...

  3. wpf 后台比例设置高度

    ColumnDefinition cd0 = new ColumnDefinition(); cd0.Width = new GridLength(2, GridUnitType.Star); txt ...

  4. struts2.5的配置及其注意事项

    坑爹的apache,官方的jar包提供了一个struts2的运行最小jar包

  5. AutoMapper简单用法

    首先在NuGet添加AutoMapper /// <summary> /// AutoMapper帮助类 /// </summary> public static class ...

  6. CodeForces - 453A Little Pony and Expected Maximum

    http://codeforces.com/problemset/problem/453/A 题目大意: 给定一个m面的筛子,求掷n次后,得到的最大的点数的期望 题解 设f[i]表示掷出 <= ...

  7. HTTPS协议机制

    转载:http://www.ruanyifeng.com/blog/2014/02/ssl_tls.html 一.作用 不使用SSL/TLS的HTTP通信,就是不加密的通信.所有信息明文传播,带来了三 ...

  8. 【总结】浅谈JavaScript中的接口

    一.什么是接口 接口是面向对象JavaScript程序员的工具箱中最有用的工具之一.在设计模式中提出的可重用的面向对象设计的原则之一就是“针对接口编程而不是实现编程”,即我们所说的面向接口编程,这个概 ...

  9. app xml报错

    如下图所示红色区域,xml中第7行提示以下错误,检查了好久,没发现什么异常,请高人指点下,谢谢! error parsing xml:not well-formed (invalid token)

  10. 关于php编程的一些小技巧

    1. NULL,0和空的区分判断 (1)0与空的区分 <?php  $a = 0;if($a==''){ echo '此判断条件不能区分';}else{ echo '此判断条件可以区分';} ? ...