BZOJ 1823 满汉全席
Description
Input
Output
Sample Input
3 4
m3 h1
m1 m2
h1 h3
h3 m2
2 4
h1 m2
m2 m1
h1 h2
m1 h2
Sample Output
BAD
HINT
Source
#include<stack>
#include<iostream>
#include<cstring>
#include<cstdio>
#include<cstdlib>
using namespace std; #define maxn 210
#define maxm 2010
int n,m,cnt,side[maxn],next[maxm],toit[maxm],dfn[maxn],id[maxn];
int tot,low[maxn],d[maxn],DFN;
stack <int> S; bool vis[maxn]; inline void init()
{
DFN = tot = cnt = ; memset(vis,false,*(n+));
memset(side,,*(n+)); memset(dfn,,*(n+));
} inline void add(int a,int b) { next[++cnt] = side[a]; side[a] = cnt; toit[cnt] = b; } inline void dfs(int now)
{
S.push(now); dfn[now] = low[now] = ++DFN;
for (int i = side[now];i;i = next[i])
{
if (vis[toit[i]]) continue;
if (!dfn[toit[i]]) dfs(toit[i]);
low[now] = min(low[toit[i]],low[now]);
}
if (low[now] == dfn[now])
{
++tot;
while (S.top() != now) id[S.top()] = tot,vis[S.top()] = true,S.pop();
id[S.top()] = tot,vis[S.top()] = true,S.pop();
}
} int main()
{
freopen("1823.in","r",stdin);
freopen("1823.out","w",stdout);
int T; scanf("%d",&T);
while (T--)
{
scanf("%d %d\n",&n,&m);
init();
while (m--)
{
char c1,c2; int a,b; bool o1,o2;
scanf("%c%d %c%d\n",&c1,&a,&c2,&b);
o1 = c1 == 'h'; o2 = c2 == 'h';
add((o1^)*n+a,o2*n+b);
add((o2^)*n+b,o1*n+a);
}
int i;
for (i = ;i <= n<<;++i) if (!dfn[i]) dfs(i);
for (i = ;i <= n;++i) if (id[i] == id[i+n]) { printf("BAD\n"); break; }
if (i <= n) continue;
printf("GOOD\n");
}
fclose(stdin); fclose(stdout);
return ;
}
BZOJ 1823 满汉全席的更多相关文章
- bzoj 1823: [JSOI2010]满汉全席 && bzoj 2199 : [Usaco2011 Jan]奶牛议会 2-sat
noip之前学的内容了,看到题竟然忘了怎么建图了,复习一下. 2-sat 大概是对于每个元素,它有0和1两种选择,必须选一个但不能同时选.这之间又有一些二元关系,比如x&y=1等等... 先把 ...
- BZOJ 1823: [JSOI2010]满汉全席( 2-sat )
2-sat...假如一个评委喜好的2样中..其中一样没做, 那另一样就一定要做, 这样去建图..然后跑tarjan. 时间复杂度O((n+m)*K) ------------------------- ...
- 【刷题】BZOJ 1823 [JSOI2010]满汉全席
Description 满汉全席是中国最丰盛的宴客菜肴,有许多种不同的材料透过满族或是汉族的料理方式,呈现在數量繁多的菜色之中.由于菜色众多而繁杂,只有极少數博学多闻技艺高超的厨师能够做出满汉全席,而 ...
- bzoj 1823: [JSOI2010]满汉全席
#include<iostream> #include<cstdio> #include<cstring> using namespace std; ],next[ ...
- bzoj 1823: [JSOI2010]满汉全席【2-SAT+tarjan】
因为每种食材只有一份,所以两个评委的如果有要求同一种食材的两种做法就是不可行,用这个来建立2-SAT模型 然后跑tarjan判可行性即可 #include<iostream> #inclu ...
- 2-sat基础题 BZOJ 1823
http://www.lydsy.com/JudgeOnline/problem.php?id=1823 1823: [JSOI2010]满汉全席 Time Limit: 10 Sec Memory ...
- BZOJ 1823 JSOI 2010 盛宴 2-SAT
标题效果:有着n材料的种类,m陪审团. 每种材料具有两种不同的方法.每个法官都有两个标准.做出来的每一个法官的菜必须至少满足一个需求. 问:是否有这样一个程序. 思考:2-SAT经典的内置图形问题.因 ...
- 【BZOJ】1823: [JSOI2010]满汉全席(2-sat)
题目 传送门:QWQ 分析 2-sat模板(然而辣鸡如我还是调了好久) 代码 //bzoj 1823 2-sat #include <bits/stdc++.h> using namesp ...
- 2-SAT速成
本文只做总结性说明 2-SAT 2-SAT是k-SAT问题的一种,k-SAT问题在\(k>=3\)时已经被证明是NP完全问题 2-SAT问题定义比较简单 有n个布尔变量\(x_1-x_n\).给 ...
随机推荐
- Python爬取CSDN博客文章
0 url :http://blog.csdn.net/youyou1543724847/article/details/52818339Redis一点基础的东西目录 1.基础底层数据结构 2.win ...
- virtualbox 虚拟3台虚拟机搭建hadoop集群
用了这么久的hadoop,只会使用streaming接口跑任务,各种调优还不熟练,自定义inputformat , outputformat, partitioner 还不会写,于是干脆从头开始,自己 ...
- DeDeCMS 每次都被黑出翔了!!DEDECMS漏洞扫描
在dedecms基础上用插件的形式制作了一分类信息平台.结果问题不断的接踵而至.每次上去扫描一下.各种漏洞.危急代码一堆一堆的.全然被黑出翔了. 之所以这种原因, 1)开源程序的开放性,让全部人都能够 ...
- auth tips
https://scotch.io/tutorials/easy-node-authentication-setup-and-local https://scotch.io/tutorials/upg ...
- iOS进度指示器——NSProgress
iOS进度指示器——NSProgress 一.引言 在iOS7之前,系统一直没有提供一个完整的框架来描述任务进度相关的功能.这使得在开发中进行耗时任务进度的监听将什么麻烦,在iOS7之后,系统提供了N ...
- OSX 10.10+Xcode5.1 无法启动或者安装应用程序到iOS 6.1 simulator
错误症状: OSX 10.10+Xcode5.1 无法启动或者安装应用程序到iOS 6.1 simulator 错误原因: iOS Simulator 内核要使用OSX 系统内核,所以iOS Simu ...
- 启动hadoop时候报错:localhost: ssh: Could not resolve hostname localhost: Temporary failure in name resolution”
这个错误是由于配置文件没有配置好.解决方案如下: 1 打开profile文件 vim /etc/profile 2 在文件最后加入的内容应该如下(高亮的两句一般是大家缺少的): export JAVA ...
- 用GitHub Pages免费空间搭建Blog
前言 其实之前就知道可以用GitHub Pages搭建静态博客,不过之前一直忙着爬手册撸代码==,昨天终于把前端各种手册里的入门教程撸的差不多了(CSS布局撸的我要吐了好嘛),于是把代码什么的放一 ...
- java_设计模式_工厂模式_Factory Pattern(2016-08-04)
工厂模式主要是为创建对象提供了接口.工厂模式按照<Java与模式>中的提法分为三类: (1)简单工厂(Simple Factory)模式,又称静态工厂方法模式(Static Factory ...
- TaskbarCreated 消息
托盘中的图片就通过注册这个消息来实现,系统和进程通过进程间通信发送这个消息,进程接收他