【hihoCoder 第133周】2-SAT·hihoCoder音乐节
http://hihocoder.com/problemset/problem/1467
2-sat模板。。。详细的题解请看题目里的提示。
tarjan模板打错again致命伤qwq
#include<cstdio>
#include<cstring>
#include<algorithm>
using namespace std;
const int N = 103;
const int M = 1003;
bool inst[N << 1];
struct node {int nxt, to;} E[M << 1];
int cnt, point[N << 1], dfn[N << 1], low[N << 1], st[N << 1], top = 0, bel[N << 1];
void ins(int u, int v) {E[++cnt] = (node) {point[u], v}; point[u] = cnt;}
char A[23], B[23];
int n, m, a, b, ct, tot;
void tarjan(int x) {
dfn[x] = low[x] = ++ct;
inst[st[++top] = x] = true;
for (int i = point[x], v = E[i].to; i; v = E[i = E[i].nxt].to)
if (!dfn[v]) tarjan(v), low[x] = min(low[x], low[v]);
else if (inst[v]) low[x] = min(low[x], dfn[v]);
if (dfn[x] == low[x]) {
++tot;
while (st[top] != x) {
inst[st[top]] = false;
bel[st[top--]] = tot;
}
inst[x] = false;
bel[st[top--]] = tot;
}
}
int main() {
int T; scanf("%d", &T);
while (T--) {
scanf("%d%d", &n, &m);
int doublen = n << 1;
memset(point, 0, sizeof(int) * doublen);
memset(dfn, 0, sizeof(int) * doublen);
ct = cnt = tot = 0;
for (int i = 1; i <= m; ++i) {
scanf("%s%s", A, B);
int lena = strlen(A), lenb = strlen(B);
a = b = 0;
for (int j = 1; j < lena; ++j) a = a * 10 + A[j] - 48;
for (int j = 1; j < lenb; ++j) b = b * 10 + B[j] - 48;
--a; --b;
if (A[0] == 'h') a += n;
if (B[0] == 'h') b += n;
ins((a + n) % doublen, b);
ins((b + n) % doublen, a);
}
for (int i = 0; i < doublen; ++i)
if (!dfn[i])
tarjan(i);
bool flag = false;
for (int i = 0; i < n; ++i)
if (bel[i] == bel[i + n]) {
flag = true;
puts("BAD");
break;
}
if (!flag) puts("GOOD");
}
return 0;
}
【hihoCoder 第133周】2-SAT·hihoCoder音乐节的更多相关文章
- 【hihoCoder 第133周】【hihoCoder 1467】2-SAT·hihoCoder音乐节
http://hihocoder.com/problemset/problem/1467 2-sat模板...详细的题解请看题目里的提示. tarjan模板打错again致命伤qwq #include ...
- hihoCoder 第136周 优化延迟(二分答案+手写堆)
题目1 : 优化延迟 时间限制:10000ms 单点时限:1000ms 内存限制:256MB 描述 小Ho编写了一个处理数据包的程序.程序的输入是一个包含N个数据包的序列.每个数据包根据其重要程度不同 ...
- HihoCoder第三周与POJ2406:KMP算法总结
HihoCoder第三周: 输入 第一行一个整数N,表示测试数据组数. 接下来的N*2行,每两行表示一个测试数据.在每一个测试数据中,第一行为模式串,由不超过10^4个大写字母组成,第二行为原串,由不 ...
- hiho一下第133周 2-SAT·hihoCoder音乐节(2-SAT)(强连通)
2-SAT·hihoCoder音乐节 时间限制:10000ms 单点时限:1000ms 内存限制:256MB 描述 hihoCoder音乐节由hihoCoder赞助商大力主办,邀请了众多嘉宾和知名乐队 ...
- hihocoder第42周 3*N骨牌覆盖(状态dp+矩阵快速幂)
http://hihocoder.com/contest/hiho42/problem/1 给定一个n,问我们3*n的矩阵有多少种覆盖的方法 第41周做的骨牌覆盖是2*n的,状态转移方程是dp[i] ...
- hiho一下第134周 1468 : 2-SAT·hihoCoder新春晚会
1468 : 2-SAT·hihoCoder新春晚会 时间限制:10000ms 单点时限:1000ms 内存限制:256MB 描述 hihoCoder新春晚会正在紧张地筹备中.晚会分为上半场和下半场, ...
- hihocoder第42周 k*N骨牌覆盖(状态dp+矩阵快速幂)
上周的3*N的骨牌,因为状态只有8中,所以我们可以手算出状态转移的矩阵 但是这周是k*N,状态矩阵不好手算,都是我们改成用程序自动生成一个状态转移的矩阵就行了,然后用这个矩阵进行快速幂即可 枚举枚举上 ...
- hihocoder第220周-一道拧巴的题
一.220周 题目链接 问题描述 键盘上有N个数字按键,每个按键只能按一次,每次可以按下多个键,请输出所有可能的按键情况. 输入一个整数N(N在1~8之间),输出全部的按键可能.例如:输入3,输出为 ...
- hihocoder(第十周)二叉树(前序中序推后续)递推实现
题目 : 后序遍历 时间限制:10000ms 单点时限:1000ms 内存限制:256MB 描述 在参与过了美食节之后,小Hi和小Ho在别的地方又玩耍了一阵子,在这个过程中,小Ho得到了一个非常有意思 ...
随机推荐
- tar解压
tar在linux上是常用的打包.压缩.加压缩工具,他的参数很多,折里仅仅列举常用的压缩与解压缩参数 参数: -c :create 建立压缩档案的参数:-x : 解压缩压缩档案的参数:-z : 是否需 ...
- maven 国内镜像地址
由于连接国外网站时网速特慢,为解决这个问题,os china 建立了一个maven 的私服.为了记忆,特将此记录. settings.xml 设置镜像方法步骤如下: 1. mirrors 设置 < ...
- git 更新分支
git branch 本地分支 git branch test 创建分支 git pull origin fastboot 更新到最新版本 git branch -a 查看所有的分支,包括本地的和 ...
- MySQL出现Errcode:28错误提示解决办法
mysql出现Error writing file \'xxx\'( Errcode:28)的原因有很多种,下面我来总结一些常用的关于引起Errcode:28错误原因与解决方法. 问题一,是log ...
- web服务器小记
服务器分web服务器,应用程序服务器以及HTTP服务器,此处只解释web服务器,详情: http://www.cnblogs.com/zhaoyl/archive/2012/10/10/2718575 ...
- listener.ora
EOF YESTERDAY=`cat /database/log/tns_log/yesterday.out` TODAY=`date '+%d-%b-%Y'` echo $YESTERDAY $T ...
- 转换流--InputStreamReader ,OutputStreamWriter
BufferedReader 字符流,只能装饰字符流,不能装饰字节流.有个重要且好用的方法是readLine()整行读取字符. 但是InputStream是字节流,没有resdLine方法,那么字节流 ...
- 修改config.php配置
$data=array( "name"=>"222222", "tel"=>159131, "address" ...
- Arch: Configurations
the original purpose is to show the steps needed to setup i3 in vbox.. easy. alright, it is a bit mi ...
- php 执行效率
用单引号代替双引号来包含字符串,这样做会更快一些.因为PHP会在双引号包围的字符串中搜寻变量,单引号则 不会,注意:只有echo能这么做,它是一种可以把多个字符串当作参数的“函数”(译注:PHP手册中 ...