17984 FFF团的怒火

该题有题解

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

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

Description

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

输入格式

第一行是两个整数n,m(0 <= n,m <= 100),分别代表男生的数量和女生的数量

接下来输入n个男生的数据,对于每个男生有一组数据
每组数据的第一行为一个整数t( 0 <= t <= 10 ),代表该男生拥有的空闲时间段数量
接下来为t行
每行的格式为XX:XX-XX:XX (00:00 <= XX:XX <= 23:59)
代表其在XX:XX至XX:XX的时间段有空闲时间,但是可能跨越一天 接下来m个女生的数据,输入格式同男生

输出格式

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

输入样例

(Sample #XX:不是输入的一部分)
Sample #1: 1 1
1
23:59-00:01
1
08:00-19:00 Sample #2: 1 2
2
19:30-19:33
00:00-08:00
1
07:30-09:00
1
19:30-19:33

输出样例

Sample #1:
0 Sample #2:
2

提示

注意端点相交也算是有可能见面的
比如08:00-09:00是可能与09:00-10:00见面的
并且对于同一个人输入的区间可能有重叠 这题都说不清楚的,不知道跨了一天算明天的还是算谁。然后是算同一天的,也就是
23:59-07:00 和 01:00-02:00是相交的。。。晕。。
然后这题又不能用scanf("%d",) != EOF,这样会错误。。坑啊
#include <cstdio>
#include <cstdlib>
#include <cstring>
#include <cmath>
#include <algorithm>
#define IOS ios::sync_with_stdio(false)
using namespace std;
#define inf (0x3f3f3f3f)
typedef long long int LL; #include <iostream>
#include <sstream>
#include <vector>
#include <set>
#include <map>
#include <queue>
#include <string>
const int maxn = + ;
struct node {
int num;
bool book[maxn];
}boy[ + ], girl[ + ];
int n, m;
void work() {
scanf("%d%d", &n, &m);
for (int i = ; i <= n; ++i) {
int t;
scanf("%d", &t);
boy[i].num = t;
while (t--) {
int a, b, c, d;
scanf("%d:%d-%d:%d", &a, &b, &c, &d);
int begin = a * + b;
int end = c * + d;
if (begin > end) {
for (int j = begin; j <= ; ++j) {
boy[i].book[j] = true;
}
for (int j = ; j <= end; ++j) {
boy[i].book[j] = true;
}
} else {
for (int j = begin; j <= end; ++j) {
boy[i].book[j] = true;
}
}
}
}
for (int i = ; i <= m; ++i) {
int t;
scanf("%d", &t);
girl[i].num = t;
while (t--) {
int a, b, c, d;
scanf("%d:%d-%d:%d", &a, &b, &c, &d);
int begin = a * + b;
int end = c * + d;
if (begin > end) {
for (int j = begin; j <= ; ++j) {
girl[i].book[j] = true;
}
for (int j = ; j <= end; ++j) {
girl[i].book[j] = true;
}
} else {
for (int j = begin; j <= end; ++j) {
girl[i].book[j] = true;
}
}
}
}
int ans = ;
for (int i = ; i <= n; ++i) {
for (int j = ; j <= m; ++j) {
for (int k = ; k <= maxn - ; ++k) {
if (boy[i].book[k] && girl[j].book[k]) {
ans++;
break;
}
}
}
}
printf("%d\n", ans);
} int main() {
#ifdef local
freopen("data.txt","r",stdin);
#endif
work();
return ;
}

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. 中国vs美国制造业公司营业额大排名,看看哪些属于美国制造业的优势产业(中美旗鼓相当,而且还有本土制造的优势)

    当然,所谓的美国制造业,大量的东西现在 在中国制造和生产,但这里列举的,主要是卖实体工业产品为主的美国公司这个榜单里主要列出以工业产品销售为主的公司. 所以各大能源巨头虽然本身也是装备制造大户,但没被 ...

  2. var和let的区别(详解)

    1. 作用域 通过var定义的变量,作用域是整个封闭函数,是全域的 . 通过let定义的变量,作用域是在块级或是子块中. function varTest() { var x = 1; if (tru ...

  3. let 命令 与 var的区别

    ES6 新增了let命令,用来声明变量.它的用法类似于var,但是所声明的变量,只在let命令所在的代码块内有效. <script> { let a = 10; var b = 1; } ...

  4. emacs环境配置

    Cscope: 首先官网上下载cscope的源码包,解压进入,按照INSTALL的说明: ./configure make make install 但是在make时报如下错误:fatal error ...

  5. web 基本概念辨异 —— URI 与 URL

    两者的相同点: 都是唯一的,对资源(R:Resource)起到唯一的标识作用: 两者的不同点: URL 是 URI 的子集(URI 是父类,URL 是子类),是一种特定的实现形式: URI 可以是身份 ...

  6. 默认action和ActionSupport

    默认action: <action></action>中的name属性值与<default-action-ref></default-action-ref&g ...

  7. 【前端】CentOS 7 系列教程之三: 搭建 git 服务器

    转载请注明出处:http://www.cnblogs.com/shamoyuu/p/linux_3.html 上一篇我们安装好了git,这一篇我们搭建git服务器 创建一个用户组 groupadd g ...

  8. Laravel中常见的错误与解决方法小结

    一.报错: 「Can't swap PDO instance while within transaction」 通过查询 Laravel 源代码,可以确认异常是在 setPdo 方法中抛出的: ? ...

  9. Laravel 新增的Switch模板控制语句非常不错

    切换语句switch语句可以使用来构建,,,和指令:@switch@case@break@default@endswitch @switch($i) @case(1) First case... @b ...

  10. eclipse中更改配置使得switch语句不出错

    分别点击: windows---preference--->java---->compiler--->error/waring---->potential programmin ...