博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
poj 3678 (2-SAT)
阅读量:6517 次
发布时间:2019-06-24

本文共 1207 字,大约阅读时间需要 4 分钟。

题意:给定一些变量告诉你他们之间的表达式包括其中的and or xor 然后让你计算是不是有满足的解。

思路:典型的2—SAT问题,首先我是把所有的逻辑表达式化简成->表示然后再a->b之间建立一条边。接着套模版就OK了。

代码如下:

1 //2014-01-21-14.47  2 //2-SAT  3 #include 
4 #include
5 #include
6 #include
7 #include
8 #include
9 #include
10 #include
11 #include
12 #define MP(a, b) make_pair(a, b) 13 #define PB(a) push_back(a) 14 15 using namespace std; 16 17 typedef long long ll; 18 typedef pair
pii; 19 typedef pair
puu; 20 typedef pair
pid; 21 typedef pair
pli; 22 23 const int INF = 0x3f3f3f3f; 24 const double eps = 1e-6; 25 const int LEN = 1010; 26 vector
Map[LEN]; 27 bool mark[LEN*2]; 28 int S[LEN*2], c; 29 30 bool dfs(int x) { 31 if(mark[x^1]) return false; 32 if(mark[x]) return true; 33 mark[x] = true; 34 S[c++] = x; 35 for(int i=0; i
0) mark[S[--c]] = false; 58 if(!dfs(i+1)) return false; 59 } 60 } 61 return true; 62 } 63 64 int main() 65 { 66 // freopen("in.txt", "r", stdin); 67 68 int n, m, a, b, res; 69 char op[11]; 70 while(scanf("%d%d", &n, &m)!=EOF){ 71 init(n); 72 for(int i=0; i
View Code

 

转载于:https://www.cnblogs.com/shu-xiaohao/p/3529580.html

你可能感兴趣的文章
爬虫基础
查看>>
JS组件系列——再推荐一款好用的bootstrap-select组件,亲测还不错
查看>>
getopt--parse command line options
查看>>
闭包和OC的block的本质
查看>>
每天一个linux命令(34):du 命令
查看>>
MySQL出现Waiting for table metadata lock的场景浅析
查看>>
C# 语言历史版本特性(C# 1.0到C# 7.1汇总更新)
查看>>
什么是数据埋点?
查看>>
git回滚
查看>>
vue2.0 引用qrcode.js实现获取改变二维码的样式
查看>>
Python 判断闰年,判断日期是当前年的第几天
查看>>
activiti 清库脚本(转)
查看>>
如何快速查看服务器配置信息?
查看>>
caffe blob理解
查看>>
特殊字符校验
查看>>
GCC 中 -L、-rpath和-rpath-link的区别
查看>>
RedHat7下PostGIS源码安装
查看>>
亚马逊AWS学习——VPC里面几个概念的关系
查看>>
context.getSystemService的简单说明
查看>>
php中的正则函数:正则匹配,正则替换,正则分割 所有的操作都不会影响原来的字符串....
查看>>