17984 FFF团的怒火

该题有题解

时间限制:1000MS  内存限制:65535K
提交次数:55 通过次数:3 收入:3

题型: 编程题   语言: G++;GCC;VC;JAVA

Description

  1. 在信软学院,男女比例失衡已经是习以为常的事情。
  2. 在这样的一个学院,诞生了一个神秘的组织,FFF团。
  3. O O O
  4. /F\/F\/F\
  5. / \/ \/ \
  6. 他们的任务是将一切不是真爱的爱情扼杀在摇篮中。
  7. 对于某些信软学院的学生,每天都只有一些时间是空闲的,其他时间都只能默默地打代码。
  8. 在这段空闲的时间里,所有男生都会去寻找一位空闲的女生,希望能与其进行一次美妙的约会。
  9. 然而FFF团的团长——小邪早已看穿一切。
  10. 为了防止FFF团团员做出过激行为,小邪决定对所有有着同一段空闲时间的异性进行监控。
  11. 现在,小邪想知道,这样的异性有多少对。但是如果小邪现在不对团员进行监控,将会发生严重的后果,于是,统计的任务就交了给你。
  12.  
  13. 出题人:K·小邪

输入格式

  1. 第一行是两个整数n,m(0 <= n,m <= 100),分别代表男生的数量和女生的数量
  2.  
  3. 接下来输入n个男生的数据,对于每个男生有一组数据
  4. 每组数据的第一行为一个整数t( 0 <= t <= 10 ),代表该男生拥有的空闲时间段数量
  5. 接下来为t
  6. 每行的格式为XX:XX-XX:XX (00:00 <= XX:XX <= 23:59)
  7. 代表其在XX:XXXX:XX的时间段有空闲时间,但是可能跨越一天
  8.  
  9. 接下来m个女生的数据,输入格式同男生

输出格式

  1. 输出一个整数,代表有可能见面的男女的对数

输入样例

  1. (Sample #XX:不是输入的一部分)
  2. Sample #1:
  3.  
  4. 1 1
  5. 1
  6. 23:59-00:01
  7. 1
  8. 08:00-19:00
  9.  
  10. Sample #2:
  11.  
  12. 1 2
  13. 2
  14. 19:30-19:33
  15. 00:00-08:00
  16. 1
  17. 07:30-09:00
  18. 1
  19. 19:30-19:33

输出样例

  1. Sample #1:
  2. 0
  3.  
  4. Sample #2:
  5. 2

提示

  1. 注意端点相交也算是有可能见面的
  2. 比如08:00-09:00是可能与09:00-10:00见面的
  3. 并且对于同一个人输入的区间可能有重叠
  4.  
  5. 这题都说不清楚的,不知道跨了一天算明天的还是算谁。然后是算同一天的,也就是
    23:59-07:00 01:00-02:00是相交的。。。晕。。
    然后这题又不能用scanf("%d",) != EOF,这样会错误。。坑啊
  1. #include <cstdio>
  2. #include <cstdlib>
  3. #include <cstring>
  4. #include <cmath>
  5. #include <algorithm>
  6. #define IOS ios::sync_with_stdio(false)
  7. using namespace std;
  8. #define inf (0x3f3f3f3f)
  9. typedef long long int LL;
  10.  
  11. #include <iostream>
  12. #include <sstream>
  13. #include <vector>
  14. #include <set>
  15. #include <map>
  16. #include <queue>
  17. #include <string>
  18. const int maxn = + ;
  19. struct node {
  20. int num;
  21. bool book[maxn];
  22. }boy[ + ], girl[ + ];
  23. int n, m;
  24. void work() {
  25. scanf("%d%d", &n, &m);
  26. for (int i = ; i <= n; ++i) {
  27. int t;
  28. scanf("%d", &t);
  29. boy[i].num = t;
  30. while (t--) {
  31. int a, b, c, d;
  32. scanf("%d:%d-%d:%d", &a, &b, &c, &d);
  33. int begin = a * + b;
  34. int end = c * + d;
  35. if (begin > end) {
  36. for (int j = begin; j <= ; ++j) {
  37. boy[i].book[j] = true;
  38. }
  39. for (int j = ; j <= end; ++j) {
  40. boy[i].book[j] = true;
  41. }
  42. } else {
  43. for (int j = begin; j <= end; ++j) {
  44. boy[i].book[j] = true;
  45. }
  46. }
  47. }
  48. }
  49. for (int i = ; i <= m; ++i) {
  50. int t;
  51. scanf("%d", &t);
  52. girl[i].num = t;
  53. while (t--) {
  54. int a, b, c, d;
  55. scanf("%d:%d-%d:%d", &a, &b, &c, &d);
  56. int begin = a * + b;
  57. int end = c * + d;
  58. if (begin > end) {
  59. for (int j = begin; j <= ; ++j) {
  60. girl[i].book[j] = true;
  61. }
  62. for (int j = ; j <= end; ++j) {
  63. girl[i].book[j] = true;
  64. }
  65. } else {
  66. for (int j = begin; j <= end; ++j) {
  67. girl[i].book[j] = true;
  68. }
  69. }
  70. }
  71. }
  72. int ans = ;
  73. for (int i = ; i <= n; ++i) {
  74. for (int j = ; j <= m; ++j) {
  75. for (int k = ; k <= maxn - ; ++k) {
  76. if (boy[i].book[k] && girl[j].book[k]) {
  77. ans++;
  78. break;
  79. }
  80. }
  81. }
  82. }
  83. printf("%d\n", ans);
  84. }
  85.  
  86. int main() {
  87. #ifdef local
  88. freopen("data.txt","r",stdin);
  89. #endif
  90. work();
  91. return ;
  92. }

17984 FFF团的怒火的更多相关文章

  1. D FFF团的怒火

    Time Limit:1000MS  Memory Limit:65535K 题型: 编程题   语言: 无限制 描述 在信软学院,男女比例失衡已经是习以为常的事情. 在这样的一个学院,诞生了一个神秘 ...

  2. CodeVS4416 FFF 团卧底的后宫

    题目描述 Description 你在某日收到了 FFF 团卧底的求助,在他某日旅游回来,他的后宫们出现了一些不可调和的矛盾,如果 FFF 团卧底把自己的宝贝分给 a 号妹子,那么 b 号妹子至少要在 ...

  3. 1003: FFF团的情侣活动--课程作业--找出N个数字中唯一出现奇数次的数

    1003: FFF团的情侣活动 Time Limit: 1 Sec  Memory Limit: 2 MB Description 圣诞节快到了,Water作为大FFF团团长,组织许多对情侣进行电影院 ...

  4. codevs4419 FFF 团卧底的菊花

    题目描述 Description FFF 团卧底在这次出题后就知道他的菊花可能有巨大的危险,于是他提前摆布好了菊花阵,现在菊花阵里有若干朵菊花,出现次数最多的那一朵就是出题人的,你的任务是需要找出出题 ...

  5. 差分约束 4416 FFF 团卧底的后宫

    /* 4416 FFF 团卧底的后宫  时间限制: 1 s  空间限制: 128000 KB  题目等级 : 黄金 Gold 题解       题目描述 Description 你在某日收到了 FFF ...

  6. C++之路进阶——codevs4416(FFF的后宫)

    4416 FFF 团卧底的后宫  时间限制: 1 s  空间限制: 128000 KB  题目等级 : 黄金 Gold       题目描述 Description 你在某日收到了 FFF 团卧底的求 ...

  7. “亚信科技杯”南邮第七届大学生程序设计竞赛之网络预赛 A noj 2073 FFF [ 二分图最大权匹配 || 最大费用最大流 ]

    传送门 FFF 时间限制(普通/Java) : 1000 MS/ 3000 MS          运行内存限制 : 65536 KByte总提交 : 145            测试通过 : 13 ...

  8. [CTSC 2012][BZOJ 2806]Cheat

    真是一道好题喵~ 果然自动机什么的就是要和 dp 搞基才是王道有木有! A:连 CTSC 都叫我们搞基,果然身为一个程序猿,加入 FFF 团是我此生最明智的选择.妹子什么闪边去,大家一起来搞基吧! Q ...

  9. 暑假集训(4)第六弹——— 组合(poj1067)

    题意概括:上一次,你成功甩掉了fff机械兵.不过,你们也浪费了相当多的时间.fff团已经将你们团团包围,并且逐步 逼近你们的所在地.面对如此危机,你不由得悲观地想:难道这acm之路就要从此中断?虽然走 ...

随机推荐

  1. 关于hbase集群

    1 一个hadoop data node上运行一个region server region server和data node在同一台机器上,这样就保证了数据的局部性. 2 hbase region s ...

  2. js modify local file

    https://stackoverflow.com/questions/4561157/is-it-possible-to-modify-a-html-file-from-which-the-scri ...

  3. mvn 引入自定义jar 解决 mongo-spark 报错

    [root@hadoop1 bin]# ./spark-submit ---bin-hadoop2./mycode/myprojectname/target/myprojectname-1.0-SNA ...

  4. OpenSSL生成CA证书及终端用户证书

    环境 OpenSSL 1.0.2k FireFox 60.0 64位 Chrome 66.0.3359.181 (正式版本)(32位) Internet Explorer 11.2248.14393. ...

  5. proc_create的使用方法

    proc_create的使用方法 proc文件系统是个有用的东东.创建一个proc虚拟文件,应用层通过读写该文件,即可实现与内核的交互.proc虚拟文件是如何创建的呢? 先看看比较简单的,创建proc ...

  6. RedisCluster集群原理

    主从复制,数据值每个服务器都存了. 针对redis集群的解决方案, 连接这个集群,不用在乎Master了 6台redis 1.why use Redis? 减轻数据库访问压力 2.持久化 RDB(间隔 ...

  7. Jackson序列化和反序列化

    1,下载Jackson工具包(jackson-core-2.2.3.jar  jackson-annotations-2.2.3.jar  jackson-databind-2.2.3.jar ) j ...

  8. jsch文件下载功能

    转载:http://www.cnblogs.com/longyg/archive/2012/06/25/2561332.html 上一篇讲述了使用JSch实现文件上传的功能,这一篇主要讲述一下JSch ...

  9. AndroidStudio修改主题外观和字体大小

    修改主题外观 File --> Settings --> Appearance & Behavior --> Appearance 右边 Theme 修改编辑器的字体大小 F ...

  10. vs 2015 community Blend和devenv启动的区别

    使用Blend启动会有部分功能无法显示 如:SVN管理插件,工具栏 使用devenv启动会全部显示