HDU - 2037 今年暑假不AC
2011-10-11 19:11
267 查看
题目地址:
http://acm.hdu.edu.cn/showproblem.php?pid=2037
思路:用一个结构体tim来存时间段a,b 和他们的差sub (时间段的最小单位是1,比如 输入数据中1 3,则这个时间段为1~2,2~3,这个单位是什么不知道,反正不是小时,开始时我用的标记数组是按23(0~23小时)来的,后来提交上去显示***,显然是数组开小了,一怒之下开到256,就乖乖的AC了)
然后对sub排序
从最小的时间段开始下手
设一个时间段标记数组flag[256],
flag[i] = false,表示这个时间段没被占用,如果 = true 表示被占用
然后对每一个时间段开始检测,当然是按sub排序后的顺序来,这样能使看到节目数量最大化
如果当前时间段里每个单位时间段都没被占用(flag[i] = false)
则总的可看节目数+1,然后把这段时间全部标记为true,这样处理一遍就OK了
最后输出totalcount,完事
http://acm.hdu.edu.cn/showproblem.php?pid=2037
思路:用一个结构体tim来存时间段a,b 和他们的差sub (时间段的最小单位是1,比如 输入数据中1 3,则这个时间段为1~2,2~3,这个单位是什么不知道,反正不是小时,开始时我用的标记数组是按23(0~23小时)来的,后来提交上去显示***,显然是数组开小了,一怒之下开到256,就乖乖的AC了)
然后对sub排序
从最小的时间段开始下手
设一个时间段标记数组flag[256],
flag[i] = false,表示这个时间段没被占用,如果 = true 表示被占用
然后对每一个时间段开始检测,当然是按sub排序后的顺序来,这样能使看到节目数量最大化
如果当前时间段里每个单位时间段都没被占用(flag[i] = false)
则总的可看节目数+1,然后把这段时间全部标记为true,这样处理一遍就OK了
最后输出totalcount,完事
/** * Author: Gneveek * Data: 2011-10-11 * Problem:2037 */ #include<iostream> using namespace std; struct tim{ int sub,a,b; }mytime[110]; int int_cmp(const void *a, const void *b) { return *(int *)a - *(int *)b; } int main() { //freopen("C:\\in.txt","r",stdin); int n; bool mango[256]; //标记24个小时内,每个小时时间段是否已被占用 while(cin>>n, n!=0) { int totalcount = 0; memset(mango,false,sizeof(mango)); for(int i=0; i<n; i++){ cin >> mytime[i].a >> mytime[i].b; mytime[i].sub = mytime[i].b - mytime[i].a; } qsort(mytime,n,3*sizeof(int),int_cmp); bool flag; //标记当前时间段是否可以完整观看 for(int i=0; i<n; i++) { flag = true; for(int j=mytime[i].a; j<mytime[i].b; j++) if(mango[j] == true){ flag = false; break; } if(flag){ totalcount++; for(int j=mytime[i].a; j<mytime[i].b; j++) mango[j] = true; } } cout << totalcount << endl; } return 0; }
相关文章推荐
- HDU 2037 今年暑假不AC (贪心入门)
- hdu 2037 今年暑假不AC(贪心)
- hdu 2037 今年暑假不AC(贪心啊~~~活动安排典型题!)
- 杭电_hdu_2037_今年暑假不AC
- HDU - 2037 今年暑假不AC (贪心模板 DP)
- hdu 2037 今年暑假不AC 解题报告
- HDU 2037 今年暑假不AC 贪心
- hdu 2037 (今年暑假不AC)
- hdu-oj 2037 今年暑假不AC
- 【HDU-2037】 今年暑假不AC
- HDU 2037 今年暑假不AC(贪心)
- hdu 2037 今年暑假不AC
- HDU 2037 今年暑假不AC (贪心)
- HDU 2037 今年暑假不AC(贪心)
- HDU 2037 今年暑假不AC
- hdu2037——今年暑假不AC
- 51nod 1428活动安排 HDU 2037 今年暑假不AC 比较
- HDU - 2037 今年暑假不AC (贪心模板 DP)
- HDU 2037 今年暑假不AC
- HDU 2037 今年暑假不AC