麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 學院 > 開發(fā)設計 > 正文

|算法討論|2-SAT 學習筆記

2019-11-14 09:50:25
字體:
來源:轉載
供稿:網(wǎng)友

2-SAT模板題:BZOJ 2199[Usaco2011 Jan]奶牛議會

#include<cstdio> #include<algorithm> #include<cstring> #include<vector> #define ms(i,j) memset(i,j, sizeof i); using namespace std; const int MAXN = 1000 + 5;const char orz[10] = {'Y', 'N', '?'};int n,m; int ans[MAXN];struct twoSAT//這里標號從0開始 { vector<int> G[MAXN*2];//鄰接表 bool mark[MAXN*2];//每個點是否被標記 int n; int init(int ni)//初始化 { n = ni; for (int i=0;i<2*n;i++) G[i].clear(); } int addEdge(int x, int y, int xv, int yv)//加一個條件 { x = x*2+xv; y = y*2+yv; G[x^1].push_back(y); G[y^1].push_back(x);//2i是假,2i+1是真 } int dfs(int x) { if (mark[x^1]) return false;//對應點被標記,不符合要求 if (mark[x]) return true;//已經(jīng)被標記直接返回 mark[x] = true;//標記 for (int i=0;i<G[x].size();i++)//繼續(xù)標記 { if (!dfs(G[x][i])) return false; } return true; } int check(int x)//檢查一個議案是否通過 { ms(mark, false); return dfs(x); }}ts;int main() { scanf("%d%d", &n,&m); ts.init(n); for (int i=0;i<m;i++) { int bi,ci; char vbi,vci; scanf("%d %c %d %c", &bi,&vbi,&ci,&vci); int vvbi = false, vvci = false; if (vbi=='Y') vvbi = true; if (vci=='Y') vvci = true; ts.addEdge(bi-1,ci-1,vvbi,vvci); } for (int i=0;i<n;i++) { int p = ts.check(i*2); int q = ts.check(i*2+1); if (!p&&!q) {
發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 久久精品久 | 毛片在哪看 | 蜜桃视频在线观看免费 | 看中国一级毛片 | 性欧美在线视频 | 动漫孕妇被羞羞视频 | 91av在线免费视频 | 久久av喷吹av高潮av懂色 | 国产精品自拍片 | 毛片视频大全 | 国产三级午夜理伦三级 | 精品国产91久久久久久久妲己 | 天天干天天透 | 久久久久久久久久久av | 日韩视频在线观看免费 | 免费在线观看成年人视频 | 日日草视频| 在线成人免费av | 一级成人黄色片 | 国产69精品久久久久久 | 91在线精品亚洲一区二区 | 欧美黄色片免费看 | 欧美视频一区二区三区四区 | 有色视频在线观看 | 伊人成人免费视频 | 伊人成人免费视频 | 91av久久 | 国产在线a| 国产一区二区三区在线视频 | 黄色特级一级片 | 久久精品中文字幕一区二区 | 一本色道精品久久一区二区三区 | 毛片久久 | 国产精品免费一区二区三区都可以 | 成人偷拍片视频在线观看 | 成人免费av在线 | 国产一区日韩一区 | 国产一区二区三区在线免费 | 精品爱爱 | 中文字幕在线免费播放 | 黄色av网站在线观看 |