当前位置: 首页 > news >正文

用vs2010做免费网站模板北京百度推广电话

用vs2010做免费网站模板,北京百度推广电话,wordpress副标题调用函数,做网站需学什么条件活动 - AcWing 给定 n 个还未赋值的布尔变量 x1∼xn。 现在有 m 个条件,每个条件的形式为 “xi 为 0/1 或 xj 为 0/1 至少有一项成立”,例如 “x1 为 1 或 x3 为 0”、“x8 为 0 或 x4 为 0” 等。 现在,请你对这 n 个布尔变量进行赋值&am…

活动 - AcWing

给定 n 个还未赋值的布尔变量 x1∼xn。

现在有 m 个条件,每个条件的形式为 “xi 为 0/1  xj 为 0/1 至少有一项成立”,例如 “x1 为 1 或 x3 为 0”、“x8 为 0 或 x4 为 0” 等。

现在,请你对这 n 个布尔变量进行赋值(0 或 1),使得所有 m 个条件能够成立。

输入格式

第一行包含两个整数 n,m。

接下来 m 行,每行包含四个整数 i,a,j,b,用来描述一个条件,表示 “xi 为 a 或 xj 为 b”。

输出格式

如果问题有解,则第一行输出 POSSIBLE,第二行输出 n 个整数表示赋值后的 n 个变量 x1∼xn 的值(0 或 1),整数之间用单个空格隔开。

如果问题无解,则输出一行 IMPOSSIBLE 即可。

如果答案不唯一,则输出任意一种正确答案即可。

数据范围

1≤n,m≤106,
1≤i,j≤n,
0≤a,b≤1

输入样例:
3 2
1 1 3 1
2 0 3 0
输出样例:
POSSIBLE
1 1 0

解析: 

该文件无法打开 - AcWing

 本题是 2-SAT 问题的模板题,对于每个条件 a∧b,得出推导公式 −a→b 和 −b→a,按照推导公式建图,然后求强连通分量并进行缩点,如果任意一个变量的两种取值在同一个强连通分量中,说明无解。否则枚举每个变量,选取所在强连通分量拓扑序靠后的取值。

#include<iostream>
#include<string>
#include<cstring>
#include<cmath>
#include<ctime>
#include<algorithm>
#include<utility>
#include<stack>
#include<queue>
#include<vector>
#include<set>
#include<math.h>
#include<map>
#include<sstream>
#include<deque>
#include<unordered_map>
#include<unordered_set>
#include<bitset>
using namespace std;
typedef long long LL;
typedef unsigned long long ULL;
typedef pair<int, int> PII;
const int N = 2e6+10, M = 2e6+ 10, INF = 0x3f3f3f3f;
int n, m;
int h[N], e[M], ne[M], idx;
int dfn[N], low[N], ts;
int stk[N], top;
bool in_stk[N];
int id[N],cnt;void add(int a, int b) {e[idx] = b, ne[idx] = h[a], h[a] = idx++;
}int tarjan(int u) {dfn[u] = low[u] = ++ts;stk[++top] = u, in_stk[u] = 1;for (int i = h[u]; i != -1; i = ne[i]) {int j = e[i];if (!dfn[j]) {tarjan(j);low[u] = min(low[u], low[j]);}else if (in_stk[j]) {low[u] = min(low[u], dfn[j]);}}if (dfn[u] == low[u]) {int y;cnt++;do {y = stk[top--];in_stk[y] = 0;id[y] = cnt;} while (y != u);}
}int main() {cin >> n >> m;memset(h, -1, sizeof h);for (int i = 1,x,a,y,b; i <= m; i++) {scanf("%d%d%d%d", &x, &a, &y, &b);x--, y -- ;add(2 * x + !a, 2 * y + b);add(2 * y + !b, 2 * x + a);}for (int i = 0; i < 2 * n; i++) {if (!dfn[i])tarjan(i);}for (int i = 0; i < n; i++) {if (id[i * 2] == id[2 * i + 1]) {cout << "IMPOSSIBLE" << endl;return 0;}}cout << "POSSIBLE" << endl;for (int i = 0; i < n; i++) {if (id[i * 2] < id[i * 2 + 1])printf("0 ");else printf("1 ");}return 0;
}

http://www.khdw.cn/news/67846.html

相关文章:

  • 加强政府网站信息内容建设的意见友情链接怎么设置
  • 教做年糕博客网站百度广告运营
  • 郑州建设电商网站网络营销有什么
  • 林芝做网站百度搜索引擎优化相关性评价
  • 深圳网站关键词优化公司哪家好长沙正规竞价优化服务
  • 重庆网站建设 熊掌号百度站长工具收费吗
  • 地方o2o同城网站源码网页制作免费模板
  • html用什么软件编写好一点seo sem推广
  • 爱站网源码google官网入口下载
  • 带后台的php网站模板百度账号购买1元40个
  • 帝国网站开发廊坊百度关键词优化怎么做
  • 做网站公司郑州郑州的网站建设公司seo运营推广
  • 苹果做安卓游戏下载网站网络营销外包推广定制公司
  • 做那个的网站谁有html静态网页制作
  • html个人网站制作网络营销企业有哪些
  • 什么 门户网站手机上怎么制作网页
  • 类网站建设北京搜索关键词优化
  • 网站建设与管理 管理课程seo建站网络公司
  • 网页设计与网站建设书籍上海好的seo公司
  • 更改各网站企业信息怎么做统计工具
  • 如何创建网站详细步骤东莞网站seo公司
  • 网站旁边的小图标怎么做的搜索引擎优化的方法包括
  • 网站设计的出路他达拉非片的作用及功效副作用
  • 网站开发工程师待遇2022年度最火关键词
  • 企业网站开发注意什么免费推广的平台
  • 菏泽的给公司做网站的百度搜索关键词排名靠前
  • 网站虚拟主机内存不足能不能链接外贸建站优化
  • 域名注册哪里最便宜百度seo价格
  • 国内做香港视频网站有哪些惠州seo推广优化
  • 新媒体网站建设方案建站教程