非洲小孩
来源:互联网 发布:上海mac电磁阀官网 编辑:程序博客网 时间:2024/04/26 06:36
#include<stdio.h>struct Node // 定义结构体,方便处理数据{ int start; //定义开始时间 int end; //定义结束时间}a[200];void quick_sort(struct Node *arr, int l, int r) //对结束时间进行排序{ if (l < r) //进行判断,用来终止递归 { int i = l, j = r, x = arr[l].end; struct Node temp = arr[l]; //用来交换结构体数组变量 while (i < j) { while (i < j && x <= arr[j].end) //从右往左找一个小于x的数 j--; if (i < j) arr[i++] = arr[j]; while (i < j && x > arr[i].end) //从左往右找一个大于x的数 i++; if (i < j) arr[j--]= arr[i]; } arr[i] = temp; quick_sort(arr, l ,i - 1); //递归调用,分治思想,左边分治。 quick_sort(arr, i + 1, r); //右边分治 }}int main(){ int n; while (scanf("%d",&n) != EOF) { int i, j, a1, a2, b1, b2, temp, sum = 1; for (i = 0; i < n; i++) { scanf("%d:%d-%d:%d", &a1, &a2, &b1, &b2); a2 = a1 * 60 + a2; b2 = b1 * 60 + b2; if (a2 > b2) // 判断前面的时间是否小于后面的时间 { temp = a2; a2 = b2; b2 = temp; } a[i].start = a2; a[i].end = b2; } quick_sort(a, 0, n-1); // 注意是从n-1开始 j = 0; for (i = 0; i < n; i++) { if (a[i].start > a[j].end) //当下一个的开始时间大于现在的结束时间时,说明需要开关一次水龙头。 { j = i; sum++; } } printf("%d\n",sum); } return 0;}
阅读全文
1 0
- 非洲小孩
- 非洲小孩
- 非洲小孩
- 非洲小孩
- 非洲小孩
- 非洲小孩
- 非洲小孩
- 非洲小孩
- NYOJ1036 非洲小孩 【贪心】
- NYOJ-1036 非洲小孩
- NYOJ1036 非洲小孩
- 1036 非洲小孩
- 1036 非洲小孩
- 1411010737-ny-非洲小孩
- NYOJ 非洲小孩
- nyoj 1036非洲小孩
- NYOJ 1036 非洲小孩
- nyoj1036 非洲小孩
- 打包target旧版本会报linker command failed with exit code 1 但最新版本就能导出
- Fibre Channel_光纤通道技术
- 爬虫学习碎碎念——beautifulsoup,信息提取
- 关于FreeBSD的fdisk和disklabel
- zookeeper滚动重启及不停机添加新服务器
- 非洲小孩
- Docker容器安装-单节点PbsPro
- Python之MySQL
- Makefile之cc编译命令
- 自定义View(二-番外2-Shader)
- Ubuntu 编译安装 opencv-2.4.8
- Java 使用SMB读取远程文件遇到的问题
- caffe python接口:用训练好的模型来分类
- Python numpy函数之stack(),vstack(),hstack(),dstack(),vsplit()和concatenate()