第六周

链接:http://acm.hdu.edu.cn/showproblem.php?pid=2037


思路:该题的重点在于以之前一个节目的结束时间和下一个节目的开始时间做对比,如果开始时间晚于结束时间则可播放下一个节目,所以先对结束时间做一个排序,找出最快结束的节目,然后依次的匹配开始时间

代码:
#include<stdio.h>

int main()

{

int swap(int *x, int *y);       //构造一个进行数据转换的函数

int a[100], b[100];

int n, i, j;

int tm;

int sum;

while(scanf("%d", &n) != EOF)

{

if(n>=1 && n<=100)

{

for(i=0; i<n;i++)

{

scanf("%d%d", &a[i], &b[i]);

}

for(i=0;i<n;i++)    //对结束时间依次排序

{

for(j=i;j<n;j++)

{

if(b[j]<b[i])

{

swap(&a[i], &a[j]);             //注意这里为地址的传递,值传递只能是单向的

swap(&b[i], &b[j]);

}

}

}

sum = 1;

tm = b[0];

for(i=0;i<n;i++)

{

if(a[i]>=tm)             //对比结束时间和开始时间,然后判断出节目数量

{

sum++;

tm = b[i];

}

}

printf("%d\n", sum);

}

}

}

int swap(int *x, int *y)

{

int t;

t = *x;

*x = *y;

*y = t;

return 0;

}

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 在C语言中,五种基本数据类型存储空间长度的排列顺序是: A)char B)char=int<=float C)ch...
    夏天再来阅读 8,771评论 0 2
  • 第1章 第一个C程序第2章 C语言基础第3章 变量和数据类型第4章 顺序结构程序设计第5章 条件结构程序设计第6章...
    小狮子365阅读 13,643评论 3 71
  • 【程序1】 题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔...
    开心的锣鼓阅读 8,571评论 0 9
  • "use strict";function _classCallCheck(e,t){if(!(e instanc...
    久些阅读 6,156评论 0 2
  • 如果我不曾呐喊,我怎知我会说话,如果我不曾沐浴阳光,我那会知道人间的温暖。 《喊山》 一部电影,质朴无华的感情,发...
    琉璃珀阅读 1,846评论 0 3