Aizu - 2555 Everlasting Zero 模拟
题意:学习技能,每个技能有不同的要求,问能否学习全部特殊技能
思路:枚举每两个技能,得到他们的先后学习关系,如果两个都不能先学的话就是No了,如果A>B,B>C,但是并没有A>C那么这种情况也是不允许的了,我过的也是比较惊险。
#pragma comment(linker, "/STACK:1000000000")
#include <bits/stdc++.h>
#define LL long long
#define INF 0x3f3f3f3f
#define IN freopen("in.txt","r",stdin);
#define OUT freopen("out.txt", "w", stdout);
using namespace std;
#define MAXN 105
#define MAXM 25005 bool dayu[MAXN][MAXN], vis[MAXN][MAXN][MAXN];
int in[MAXN];
queue<int> Q;
int gao[MAXN][MAXN], di[MAXN][MAXN];
int main()
{
//IN;
int m, n, k, x, y;
char s[];
scanf("%d%d", &m, &n);
memset(di, , sizeof(di));
memset(gao, INF, sizeof(gao));
for(int i = ; i <= m; i++){
scanf("%d", &k);
for(int j = ; j <= k; j++){
scanf("%d%s%d", &x, &s, &y);
if(s[] == '<'){
gao[i][x] = min(gao[i][x], y);
}
else{
di[i][x] = max(di[i][x], y);
}
}
}
for(int i = ; i <= m; i++){
for(int j = ; j <= n; j++){
if(di[i][j] > gao[i][j]){
printf("No\n");
return ;
}
}
}
memset(dayu, , sizeof(dayu));
memset(in, , sizeof(in));
for(int i = ; i <= m; i++){
for(int j = ; j <= m; j++){
if(i == j) continue;
bool flag = false;
for(int k = ; k <= n; k++){
if(di[i][k] > gao[j][k]){
flag = true;
break;
}
}
if(!flag){
dayu[i][j] = true;
in[j]++;
}
}
}
for(int i = ; i <= m; i++){
for(int j = ; j <= m; j++){
for(int k = ; k <= m; k++){
if(i == j || i == k || j == k) continue;
if(dayu[i][j] && dayu[i][k] && dayu[k][j]){
vis[i][j][k] = true;
vis[i][k][j] = true;
vis[j][i][k] = true;
vis[j][k][i] = true;
vis[k][i][j] = true;
vis[k][j][i] = true;
}
}
}
}
for(int i = ; i <= m; i++){
for(int j = ; j <= m; j++){
for(int k = ; k <= m; k++){
if(i == j || i == k || j == k) continue;
if(vis[i][j][k]) continue;
printf("No\n");
return ;
}
}
}
for(int i = ; i <= m; i++){
for(int j = ; j <= m; j++){
if(i == j) continue;
if(!dayu[i][j] && !dayu[j][i]){
printf("No\n");
return ;
}
}
}
printf("Yes\n");
return ;
/* memset(vis, 0, sizeof(vis));
while(!Q.empty()){
Q.pop();
}
for(int i = 1; i <= m; i++){
bool flag = false;
for(int j = 1; j <= m; j++){
if(dayu[i][j] || i == j) continue;
flag = true;
break;
}
if(!flag){
Q.push(i);
vis[i] = true;
}
}
int ans = 0; while(!Q.empty()){
int s = Q.front();
vis[s] = true;
ans++;
Q.pop();
for(int i = 1; i <= m; i++){
if(dayu[s][i]){
in[i]--;
if(in[i] == 0 && !vis[i]){
Q.push(i);
}
}
}
}
if(ans == m){
printf("Yes\n");
}
else{
printf("No\n");
}*/
return ;
}
Aizu - 2555 Everlasting Zero 模拟的更多相关文章
- HDU 2555 陷阱(模拟,结构体数组)
这道题目意思很明白,有不确定的数据沙包和陷阱,还要排序···那就必须要用结构体+数组 /* 在地面上有N 个大小不等的长方形陷阱,每个陷阱的周长各不相同,每个参赛者都有一个沙包,闭上眼睛把它扔向地面, ...
- bzoj AC倒序
Search GO 说明:输入题号直接进入相应题目,如需搜索含数字的题目,请在关键词前加单引号 Problem ID Title Source AC Submit Y 1000 A+B Problem ...
- 2555: SubString[LCT+SAM]
2555: SubString Time Limit: 30 Sec Memory Limit: 512 MB Submit: 2601 Solved: 780 [Submit][Status][ ...
- 【BZOJ 2555】 2555: SubString (SAM+LCT)
2555: SubString Time Limit: 30 Sec Memory Limit: 512 MBSubmit: 2548 Solved: 762 Description 懒得写背景了 ...
- 【BZOJ】2555: SubString(后缀自动机)
http://www.lydsy.com/JudgeOnline/problem.php?id=2555 学到了如何快速维护right值orz (不过这仍然是暴力维护,可以卡到O(n) 首先我们在加一 ...
- App开发:模拟服务器数据接口 - MockApi
为了方便app开发过程中,不受服务器接口的限制,便于客户端功能的快速测试,可以在客户端实现一个模拟服务器数据接口的MockApi模块.本篇文章就尝试为使用gradle的android项目设计实现Moc ...
- 故障重现, JAVA进程内存不够时突然挂掉模拟
背景,服务器上的一个JAVA服务进程突然挂掉,查看产生了崩溃日志,如下: # Set larger code cache with -XX:ReservedCodeCacheSize= # This ...
- Python 爬虫模拟登陆知乎
在之前写过一篇使用python爬虫爬取电影天堂资源的博客,重点是如何解析页面和提高爬虫的效率.由于电影天堂上的资源获取权限是所有人都一样的,所以不需要进行登录验证操作,写完那篇文章后又花了些时间研究了 ...
- HTML 事件(四) 模拟事件操作
本篇主要介绍HTML DOM中事件的模拟操作. 其他事件文章 1. HTML 事件(一) 事件的介绍 2. HTML 事件(二) 事件的注册与注销 3. HTML 事件(三) 事件流与事件委托 4. ...
随机推荐
- WPF 列表自动换行
原文:WPF 列表自动换行 本文告诉大家如何在 ListView 或 ListBox 使用 WrapPanel 让里面的控件自动换行 在 WPF 可以通过修改 ItemsPanel 设置使用不同的 I ...
- 题解 LNOI2014 LCA
题目:传送门 这道题根本不用lca,也没有部分分... 考虑求两个点xy的lca的深度. 我们将x到树根所有点的值都加1,然后查询y到根的和,其实就是lca的深度. 所以本题离线一下上树剖乱搞就可以了 ...
- 个人创业了,做了个网站和App,www.91tianwu.com
大家好! 很久没有写文章了,响应党和政府号召,创业了.此文为了推广我的网站而写,希望有兴趣的看看. 我做了添物网,地址:http://www.91tianwu.com. 主要做购物导航推荐,目前集中在 ...
- HTTP cookies 详解
http://blog.csdn.net/lijing198997/article/details/9378047
- 10个关于Android开发的实用教程
本文为致力于Android应用的开发人员精选了几个不错的实用教程,无论是初学者还是专业开发人员都应该能够从中获益.这些教程中有不少是关于绘图和地址服务运用的,另外一些则是SDK相关的.希望对大家有所帮 ...
- [ACM] hdu 4248 A Famous Stone Collector (DP+组合)
A Famous Stone Collector Problem Description Mr. B loves to play with colorful stones. There are n c ...
- kibana 5.5 源码编译踩坑记录
由于项目需要定制开发kibana,因此需要编译kibana,在开发环境下运行. 注意:必须下载kibana 5.5的源码才能正常编译,下载release或者snapshot版本是不行的,运行npm ...
- Java类和对象5
写一个Java应用程序,该应用程序包括2个类:Print类和主类E.Print类里有一个方法output()功能是输出100 ~ 999之间的所有水仙花数(各位数字的立方和等于这个三位数本身,如: 3 ...
- SQL SERVER中求上月、本月和下月的第一天和最后一天
1.上月的第一天 SELECT CONVERT(CHAR(10),DATEADD(month,-1,DATEADD(dd,-DAY(GETDATE())+1,GETDATE())),111) 2.上月 ...
- POJ 1320 Street Numbers(佩尔方程)
Street Numbers Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 3078 Accepted: 1725 De ...