国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學(xué)院 > 開發(fā)設(shè)計(jì) > 正文

|BZOJ 1823|2-SAT|[JSOI2010]滿漢全席

2019-11-11 04:46:05
字體:
供稿:網(wǎng)友

BZOJ傳送門 經(jīng)典2-SAT模型,注意輸入 (慶祝blog第200篇博文)

#include<cstdio> #include<algorithm> #include<cstring> #include<vector> #define ms(i,j) memset(i,j, sizeof i); using namespace std;const int MAXN = 100 + 5;struct twoSAT{ bool mark[MAXN*2]; vector<int> G[MAXN*2]; int n; int c, S[MAXN*2]; void init(int ni) { n = ni; for (int i=0;i<2*n;i++) G[i].clear(); ms(mark, false); } bool dfs(int x) { if (mark[x^1]) return false; if (mark[x]) return true; mark[x] = true; S[++c] = x; for (int i=0;i<G[x].size();i++) if (!dfs(G[x][i])) return false; return true; } void addE(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);//2x for man, 2x+1 for han } bool solve() { for (int i=0;i<2*n;i+=2) if (!mark[i] && !mark[i+1]) { c = 0; if (!dfs(i)) { for (int j=1;j<=c;j++) mark[S[j]] = false; c = 0; if (!dfs(i+1)) return false; } } return true; }}ts;int k;int n,m;int getss(){ char ans; while (true) { ans = getchar(); if (ans=='m') return 0; if (ans=='h') return 1; int ret = 0; while (ans>='0'&&ans<='9') { ret = ret*10+ans-'0'; ans = getchar(); } if (ret>0) return ret; }}void inpu(){ int v1 = getss(); int z1 = getss(); int v2 = getss(); int z2 = getss(); ts.addE(z1-1, z2-1, v1, v2);}int main() { scanf("%d", &k); while (k--) { scanf("%d%d", &n,&m); ts.init(n); for (int i=0;i<m;i++) { inpu(); } if (ts.solve()) {
發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 乐清市| 南华县| 亳州市| 芒康县| 西华县| 德安县| 岑溪市| 井冈山市| 通化市| 师宗县| 尖扎县| 合江县| 新巴尔虎右旗| 陆丰市| 卫辉市| 潜江市| 鲁甸县| 遵义县| 广昌县| 平南县| 盐池县| 盱眙县| 房产| 都兰县| 古丈县| 曲周县| 小金县| 关岭| 金溪县| 宾阳县| 额敏县| 苏尼特左旗| 闽侯县| 台山市| 京山县| 汉源县| 新乡市| 邢台县| 南充市| 金山区| 姜堰市|