zzuli1210 东东的女朋友(二)(水)
Description
我们已经知道了,东东有很多的女朋友。每个女朋友都要东东陪她们,但是现在东东的女朋们每天也都需要上课,所以不可能一整天都有时间。现在的问题是,给出东东女朋友每一天的空闲时间,问东东最少用多少天可以陪每个女朋友至少一次。因为东东还要留很多时间来学习算法呢。当然当东东在陪一个女朋友时间段内不可以同时去陪另一个女朋友。
Input
第一个数t表示有t组测试实例,每组测试实例的第一个数n(n<=100)表示东东有n个女朋友。接下来的n行,每行有两个数s,e表示东东的女朋友的空闲时间的起始时间和终止时间(0 < s<=e<=24)。
Output
输出东东所需要的最少的天数来陪他的女朋友们
Sample Input
13
1 8
2 3
4 7
Sample Output
2属于看错题系列=-=,拿到题第一反应就是,贪心,最基础的贪心。后来按照贪心的方法排序计算,结果一直WA,再仔细看题,这道题说的是,最少用多少天来陪完所有的女朋友,而不是一天内最多能陪多少女朋友===。
思路:类似于某次河南省省赛的一道房间安排的题,开一个24的数组,然后把所有出现过的区间内的数一次次累加,最后求出数组的最大值就是答案;真水!
#include<iostream> #include<cstdio> #include<cstdlib> #include<algorithm> #include<vector> #include<cstring> #include<string> #include<map> #include<queue> #define N 220 #define INF 100000000 using namespace std; int main() { int t,n,mx,i,a,b,j; scanf("%d",&t); int ans[25]; while(t--) { scanf("%d",&n); memset(ans,0,sizeof(ans)); for(i=0;i<n;i++) { scanf("%d%d",&a,&b); for(j=a;j<=b;j++) ans[j]++; } mx=-9999; for(i=0;i<=24;i++) mx=max(mx,ans[i]); printf("%d ",mx); } return 0; }
声明:该文观点仅代表作者本人,牛骨文系教育信息发布平台,牛骨文仅提供信息存储空间服务。
- 上一篇: hadoop distcp 参数详解
- 下一篇: Gradle是个啥东东?