【bzoj2199/Usaco2011 Jan】奶牛议会——2-sat
Description
Input
Output
Sample Input
1 Y 2 N
1 N 2 N
1 Y 3 Y
1 Y 2 Y
Sample Output
因为原题的玄学排版导致刚开始理解错题意......所以我自己重新排了一下版:)
1 #include<cstdio> 2 #include<cstring> 3 #define mem(a,p) memset(a,p,sizeof(a)) 4 const int N=2010; 5 int m,n,tot=0,first[N]; 6 struct node{int ne,to;}e[N*4]; 7 bool ok[N]; 8 char ans[N]; 9 void add(int u,int v){e[++tot]=(node){first[u],v};first[u]=tot;} 10 void dfs(int x){ 11 ok[x]=1; 12 for(int i=first[x];i;i=e[i].ne) 13 if(!ok[e[i].to])dfs(e[i].to); 14 } 15 bool check(int x){ 16 mem(ok,0); 17 dfs(x); 18 for(int i=1;i<=n;i++) 19 if(ok[2*i]&&ok[2*i+1])return 0; 20 return 1; 21 } 22 int main(){ 23 scanf("%d %d",&n,&m); 24 for(int i=1,a,b;i<=m;i++){ 25 char ch[5],cc[5]; 26 scanf("%d %s %d %s",&a,ch+1,&b,cc+1); 27 if(ch[1]=='Y'){ 28 if(cc[1]=='Y')add(a*2+1,b*2),add(b*2+1,a*2); 29 else add(b*2,a*2),add(a*2+1,b*2+1); 30 } 31 else{ 32 if(cc[1]=='Y')add(a*2,b*2),add(b*2+1,a*2+1); 33 else add(a*2,b*2+1),add(b*2,a*2+1); 34 } 35 } 36 for(int i=1;i<=n;i++){ 37 int p=check(2*i),d=check(2*i+1); 38 if(!p&&!d)return printf("IMPOSSIBLE"),0; 39 if(p&&d)ans[i]='?'; 40 else if(p)ans[i]='Y'; 41 else ans[i]='N'; 42 } 43 for(int i=1;i<=n;i++)printf("%c",ans[i]); 44 return 0; 45 } 46
bzoj2199
转载于:https://www.cnblogs.com/JKAI/p/7697632.html
【bzoj2199/Usaco2011 Jan】奶牛议会——2-sat相关推荐
- BZOJ2199: [Usaco2011 Jan]奶牛议会
趁此机会学了一下2-SAT. 以前的2-SAT都是用并查集写的,只能应用于极小的一部分情况,这次学了一正式的2-SAT,是用一张有向图来表示其依赖关系. 2-SAT的介绍参见刘汝佳<训练指南&g ...
- BZOJ2199 [Usaco2011 Jan]奶牛议会
首先建立一个2-SAT的裸模型,然后发现...tarjan没法判断'?'的情况 于是暴力对每一个议案check一下,直接dfs即可 1 /******************************* ...
- BZOJ 2199: [Usaco2011 Jan]奶牛议会 [2-SAT 判断解]
http://www.lydsy.com/JudgeOnline/problem.php?id=2199 题意:裸的2-SAT,但是问每个变量在所有解中是只能为真还是只能为假还是既可以为真又可以为假 ...
- 「BZOJ2200」[Usaco2011 Jan] 道路和航线 - 最短路+拓扑排序
->点我进原题 [Usaco2011 Jan]道路和航线 Time Limit: 10 Sec Memory Limit: 259 MB Submit: 1116 Solved: 410 Des ...
- 【ybt金牌导航3-6-3】【luogu P3007】奶牛议会 / The Continental Cowngress G(两种方法)
奶牛议会 / The Continental Cowngress G 题目链接:ybt金牌导航3-6-3 / luogu P3007 题目大意 有一些人,每个人对众多决案中的两个决案有表示好或不好. ...
- [BZOJ 2200][Usaco2011 Jan]道路和航线 spfa+SLF优化
Description Farmer John正在一个新的销售区域对他的牛奶销售方案进行调查.他想把牛奶送到T个城镇 (1 <= T <= 25,000),编号为1T.这些城镇之间通过R条 ...
- 一句话题解(20170801~20170125)
8.1 bzoj 4720 noip2016 换教室 floyd预处理+期望(薛定谔的猫) bzoj 4318 OSU! 三次函数期望值 从一次.二次推得 8.2 bzoj 1076 状压+期望DP ...
- [颓废史]蒟蒻的刷题记录
QAQ蒟蒻一枚,其实我就是来提供水题库的. 以下记录从2016年开始. 1.1 1227: [SDOI2009]虔诚的墓主人 树状数组+离散化 3132: 上帝造题的七分钟 树状数组 二维区间加减+查 ...
- 题目推荐—BZOJ 水题推荐
[bzoj1756]Vijos1083小白逛公园 裸题- -..线段树维护lmax,rmax,max,sum然后搞之.. [Ahoi2008]Meet 紧急集合 求两两点的lca然后会发现必然有两个l ...
- C#-进击Hangfire
Hangfire 分布式后端作业调度框架服务 CronExpression(cron表达式)- CronTriggers(cron触发器) 格式 字段含义 部分示例 cron表达式在线生成 Hangf ...
最新文章
- Silverlight 游戏开发小技巧:轨迹跟随效果
- 黑色星期日+一.....
- 第10章 例题 7-3 递归实现逆序输出整数
- H5页面在 ios 端滑动不流畅的问题
- 川大计算机文化基础在线作业,川大1309《计算机文化基础0008》在线作业2答案.docx...
- 找不到腾讯云MFA动态码了,无法登录腾讯云的解决办法
- 图片跟随鼠标移动并放大js特效
- php价格结算,PHP根据用户折扣计算商品价格
- Mysql触发器与事务
- 国内最适合年轻人旅游的地方
- 计算机学报范文,计算机学报论文
- 设置Parallels Desktop中的Windows虚拟机使用Mac宿主机代理
- 巴菲特十大量化选股经
- R语言——单位根检验/平稳性检验
- 2017河南省第四届互联网大会圆满落幕 云计算大数据创新成热点
- 各大浏览器兼容性报告 IE、FF、Safari、OP不同浏览器兼容报告
- SCCB协议介绍与应用和OV7670摄像头的寄存器配置
- VantUi 底部Tabbar跳转页面的方法以及产生的Bug问题
- OriginPro 2023使用小技巧
- 008年杀毒软件排行榜以及排行对比图
热门文章
- c# mysql存储过程 输出参数值_C#获取存储过程返回值和输出参数值的方法
- ajax怎么在服务器返回值,node.js+Ajax实现获取HTTP服务器返回数据?
- python多态如何理解_大家对python中多态是如何理解的?
- gtx1050ti最稳定的驱动_最便宜图灵吃鸡卡 华硕GTX 1650评测
- Linux 命令之 crontab 计划任务与自动同步系统时间
- Unity3D笔记 切水果 一
- 阶段1 语言基础+高级_1-3-Java语言高级_09-基础加强_第3节 注解_16_注解_自定义注解_元注解...
- VScode 搭建 django 开发环境(MAC、Python3.7)
- JVM学习笔记四_垃圾收集器与内存分配策略
- Nginx + keepalived 实现高可用