简要的学了一下2-sat,然而不会输出方案。

就是个sb模板题啦

// luogu-judger-enable-o2
#include<bits/stdc++.h>
#define il inline
#define vd void
typedef long long ll;
il int gi(){int x=0,f=1;char ch=getchar();while(!isdigit(ch)){if(ch=='-')f=-1;ch=getchar();}while(isdigit(ch))x=x*10+ch-'0',ch=getchar();return x*f;
}
int fir[201],dis[2010],nxt[2010],id,dfn[201],low[201],stk[201],top,ins[201],scc[201];
il vd link(int a,int b){nxt[++id]=fir[a],fir[a]=id,dis[id]=b;}
char a[10],b[10];
il vd tarjan(int x){dfn[x]=low[x]=++dfn[0];stk[++top]=x;ins[x]=1;for(int i=fir[x];i;i=nxt[i])if(!dfn[dis[i]])tarjan(dis[i]),low[x]=std::min(low[x],low[dis[i]]);else if(ins[dis[i]])low[x]=std::min(low[x],dfn[dis[i]]);if(dfn[x]==low[x]){++scc[0];while(stk[top+1]!=x)ins[stk[top]]=0,scc[stk[top]]=scc[0],--top;}
}
int main(){
#ifndef ONLINE_JUDGEfreopen("4171.in","r",stdin);freopen("4171.out","w",stdout);
#endifint n,m,T=gi();while(T--){n=gi(),m=gi();memset(fir,0,sizeof fir);id=0;memset(stk,0,sizeof stk);memset(dfn,0,sizeof dfn);for(int i=1;i<=m;++i){scanf("%s%s",a,b);if(a[0]=='h')std::swap(a,b);int A=atof(a+1),B=atof(b+1);if(a[0]=='h')link(A+n,B),link(B+n,A);else if(b[0]!='m')link(A,B),link(B+n,A+n);else link(A,B+n),link(B,A+n);}scc[0]=0;for(int i=1;i<=n*2;++i)if(!dfn[i])tarjan(i);for(int i=1;i<=n;++i)if(scc[i]==scc[i+n]){puts("BAD");goto GG;}puts("GOOD");GG:;}return 0;
}

转载于:https://www.cnblogs.com/xzz_233/p/9819341.html

P4171 [JSOI2010]满汉全席相关推荐

  1. [洛谷P4171][JSOI2010]满汉全席

    题目大意:有$n$个点,每个点可以选或不选,有$m$组约束,形如$a,u,b,v$,表示$u=a,v=b$中至少要满足一个条件,问是否存在一组解,多组询问 题解:$2-SAT$,感觉是板子题呀,最后判 ...

  2. Bzoj1823 [JSOI2010]满汉全席

    Time Limit: 10 Sec  Memory Limit: 64 MB Submit: 1640  Solved: 798 Description 满汉全席是中国最丰盛的宴客菜肴,有许多种不同 ...

  3. BZOJ1823:[JSOI2010]满汉全席(2-SAT)

    Description 满汉全席是中国最丰盛的宴客菜肴,有许多种不同的材料透过满族或是汉族的料理方式,呈现在數量繁多的菜色之中.由于菜色众多而繁杂,只有极少數博学多闻技艺高超的厨师能够做出满汉全席,而 ...

  4. [JSOI2010] 满汉全席

    题目描述 满汉全席是中国最丰盛的宴客菜肴,有许多种不同的材料透过满族或是汉族的料理方式,呈现在數量繁多的菜色之中.由于菜色众多而繁杂,只有极少數博学多闻技艺高超的厨师能够做出满汉全席,而能够烹饪出经过 ...

  5. BZOJ1823:[JSOI2010]满汉全席——题解

    https://www.lydsy.com/JudgeOnline/problem.php?id=1823 https://www.luogu.org/problemnew/show/P4171 题面 ...

  6. BZOJ1823[JSOI2010]满汉全席——2-SAT+tarjan缩点

    题目描述 满汉全席是中国最丰盛的宴客菜肴,有许多种不同的材料透过满族或是汉族的料理方式,呈现在數量繁多的菜色之中.由于菜色众多而繁杂,只有极少數博学多闻技艺高超的厨师能够做出满汉全席,而能够烹饪出经过 ...

  7. 【BZOJ】1823: [JSOI2010]满汉全席(2-sat)

    题目 传送门:QWQ 分析 2-sat模板(然而辣鸡如我还是调了好久) 代码 //bzoj 1823 2-sat #include <bits/stdc++.h> using namesp ...

  8. 一句话题解(20170801~20170125)

    8.1 bzoj 4720 noip2016 换教室 floyd预处理+期望(薛定谔的猫) bzoj 4318 OSU! 三次函数期望值 从一次.二次推得 8.2 bzoj 1076 状压+期望DP ...

  9. 图论2-SAT算法详解

    图论2-SAT算法详解 今天我们来介绍一个我个人认为最难的算法,这是为什么呢?肯定会有许多dalao说,不就一个2-SAT,我两分钟就A掉了.然而2-SAT的细节非常的多,稍不注意就会写错,而且测试困 ...

最新文章

  1. php-echo原理
  2. Android 蓝牙4.0(BLE)开发实现对蓝牙的写入数据和读取数据
  3. C++位操作确定一个数是否为2的幂的算法实现(附完整源码)
  4. [react] 你有使用过React Intl吗?
  5. php+mockjs,mockjs的常用方法分享
  6. hadoop设置java环境_hadoop安装(3)_Linux配置JDK环境
  7. 给网页穿上Word马甲
  8. 数据结构上机实践第14周项目1(4) - 验证算法(平衡二叉树)
  9. Webbrowser若干点
  10. Flutter入门(2)—创建项目
  11. 基于SpringBoot和Vue的OA办公管理系统
  12. matlab生成浮雕灰度图,将照片做成浮雕灰度图
  13. 儒家“内圣外王”之道对青年人格
  14. Zabbix 监控MySQL最大连接数
  15. Lattice ddr3教程全攻略之时序约束篇
  16. 报错解决——RuntimeError: The size of tensor a (4) must match the size of tensor b (3) at non-singleton
  17. 稳定性高可用测试——各大厂质量保障实践分享汇总(下)
  18. 网络安全——应急响应之入侵排查
  19. 那些年,我们用过的服务器软件
  20. springboot银行客户管理系统毕业设计源码250903

热门文章

  1. 档案盒正面标签制作_如何制作差异化的短视频内容?
  2. git如何安装aur_git系列:git 简介
  3. Linux向文件中写入内容
  4. Springboot项目启动时加载数据库数据到内存
  5. vs code快捷键修改为idea快捷键
  6. 【CCCC】L2-010 排座位 (25分),,并查集+二维矩阵判定关系
  7. Win7如何禁用无线网卡
  8. php mysql表单源码_PHP表单数据写入MySQL数据库的代码
  9. pscad与matlab接口,PSCAD/EMTDC与Matlab接口研究
  10. python 仪表盘实现_Python实现数据可视化看如何监控你的爬虫状态【推荐】