Vijos P1026毒药?解药?


题目

描述

羽毛笔和im是抽签到同一个考场的,她们突然闻到一阵刺鼻的化学试剂的气味。
机灵鼠:(头都不抬)你们是考生么?还在门口磨蹭什么?快进来帮我忙!!……怎么还不进来?你们拖赛,拖赛,把你们的青春都拖掉赛……
im:开…开策了>_<
羽毛笔:哎呀~~机灵鼠大人要我们帮什么忙?^^
机灵鼠:你们看这里的这些药,都是我研制的对付各种症状的解药。可是我一个不小心,每种药都小小地配错了一点原料,所以这些药都有可能在治愈某些病症的同时又使人患上某些别的病症……(im:那…那是解药还是毒药啊?!)……经过我天才的努力(背景:我是天才!!),终于弄清了每种药的具体性能(路人甲:那是你自己配的吗?-_-),我会把每种药能治的病症和能使人患上的病症列一张清单给你们,然后你们要根据这张清单找出能治愈所有病症的最少药剂组合……顺便说一声,病症的数目不超过10种(小呆:偶是好人吧^^),我的药是用不完的,就是说每种药剂都可以被重复使用。给你们的单子里第一行是病症的总数n,第二行是药剂的种类m(0

3
2
1 0 1
-1 1 0

样例输出1

2

限制

各个测试点1s
提示

其实还有可能用尽了所有的药也不能将所有病治愈(真是不好意思嗬^^bb),那样的话你们只要写上“The patient will be dead.”就可以了。
im:做不出来啊哇啊啊啊(暴走中)
羽毛笔:哎呀~~im……来来吃药了。^^


题解

spfa,注意毒解完了之后还可以中同样的毒…


代码

#include<cstdio>
#include<queue>
#define INF (1<<30)-1
using namespace std;int n,m,s;
queue<int> q;
int a[105],b[105],d[(1<<10)+5];
bool vis[(1<<10)+5];int readln()
{int x=0,f=1;char ch=getchar();while (ch<'0'||ch>'9') {if (ch=='-') f=-1;ch=getchar();}while ('0'<=ch&&ch<='9') x=x*10+ch-48,ch=getchar();return x*f;
}inline int update(int x,int k)
{x&=(~a[k]);x|=b[k];return x;
}int main()
{n=readln();m=readln();s=(1<<n)-1;for (int i=1;i<=m;i++)for (int j=0;j<n;j++){int x=readln();if (x==1) a[i]|=(1<<j); else if(x==-1) b[i]|=(1<<j);}for (int i=0;i<=(1<<n)-1;i++) d[i]=INF;d[s]=0;q.push(s);vis[s]=true;while (!q.empty()){int x=q.front();vis[x]=false;q.pop();for (int i=1;i<=m;i++){int y=update(x,i);if (d[y]>d[x]+1){d[y]=d[x]+1;if (!vis[y]) {q.push(y);vis[y]=true;}}}}if (d[0]==INF) printf("The patient will be dead."); else printf("%d",d[0]);return 0;
}

Vijos P1026毒药?解药?相关推荐

  1. 哈希表的应用--vijos 毒药?解药?

    http://www.vijos.cn/Problem_Show.asp?id=1026 描述 Description 羽毛笔和im是抽签到同一个考场的,她们突然闻到一阵刺鼻的化学试剂的气味.机灵鼠: ...

  2. 你们是魔鬼吗?Adobe研发了一款反PS工具:自己打自己?

    真正的勇士敢于直面自己脸上的坑坑洼洼.现在,没有经过P图软件或美颜相机加工润色的照片,你还敢随随便便往社交平台上发吗? 如果你完全没有这些顾虑,那就要夸一下你真的很real,下面要说的这个工具也将对你 ...

  3. 福利来啦!!Python基础语法干货

    最近几天,给大家简单的介绍了一下基本的python的内容和学习的难度,还有就业方向,估计大家对于python相信也有了一定的基础了解了.同时,老袁这里花了一下午时间整理了一下,python基本的一些运 ...

  4. 中年危机,35 岁定律,见鬼去吧!

    中年危机,35 岁定律,相信你都听说过,每次触及还会让你感到丝丝焦虑,毕竟时间这把杀猪刀不会放过任何一个人.中年危机或 35 岁定律是客观存在的,你迟早都会遭遇的,那你是否有信心战胜它呢? 中年危机之 ...

  5. 7大车企电动策略,平台化到底是解药还是毒药?

    来源:车云 电动化,已经成为当下汽车行业绕不开的话题,虽然几个国际主流汽车面对电动时代的态度都不一样(各自的情况不同),但不得不说,它们都在积极筹备着这一产业转型带来的冲击. 电动化平台,就是在传统燃 ...

  6. Kubernetes是解药还是毒药?

    三年前Docker的诞生,给IT行业带来了巨大的革新,云计算模式有了新的尝试方式,应用交付变得异常便捷.也是借助这样的优势,不论在开发者市场.还是在运维人员心中,Docker均占据了一个无法撼动的位置 ...

  7. codevs 2594 解药还是毒药(状压+bfs)

    题目描述 Description Smart研制出对付各种症状的解药,可是他一个不小心,每种药都小小地配错了一点原料,所以这些药都有可能在治愈某些病症的同时又使人患上某些别的病症(你可能会问那-那是解 ...

  8. 【日常学习】【状压BFS】codevs2594 解药还是毒药题解

    题目描述 Description Smart研制出对付各种症状的解药,可是他一个不小心,每种药都小小地配错了一点原料,所以这些药都有可能在治愈某些病症的同时又使人患上某些别的病症(你可能会问那-那是解 ...

  9. 积分体系究竟是解药还是毒药?

    本文由   一个人拯救世界  发布于pmcaff.com 当产品面临用户活跃度低的窘境时,很多产品经理都把积分体系当做救命稻草,尤其在当今的互联网产品中,积分体系已经几乎成为一种标配.少有人去深入思考 ...

最新文章

  1. Spring越来越强,而我们越来越快餐!离开了Spring,居然API都写不出来了! 程序猿DD...
  2. Laravel 中简约而不简单的 Macroable 宏指令
  3. CNVD-C-2019-48814 漏洞
  4. eclipse xml文件报错_Maven教程6: Maven与Eclipse整合
  5. 吴恩达深度学习 —— 2.12 向量化的更多例子
  6. spark的python开发安装方式_windows下安装spark-python
  7. 【Java从0到架构师】Linux 应用 - 软件包管理、软件安装
  8. python列表方法图解_python中list(列表)的使用方法总结(图文)
  9. 2017php类库,AMQB官方PHP库
  10. android 大华电子秤波特率_大华条码秤对接经验总结
  11. linux系统TongLinkQ安装部署手册
  12. 前后端交互过程、常见软件架构、服务器分类
  13. 国产数据库及厂商介绍
  14. Word删除连续分节符
  15. oracle音节怎么划分,现代汉语音节小知识(4页)-原创力文档
  16. python tensorflow 智能家居_用 TensorFlow 让你的机器人唱首原创给你听
  17. cocos2dx 常见的22种特效 3D特效
  18. jQuery的id选择器
  19. 书论83 梁巘《承晋斋积闻录》
  20. 公众号题库系统接口-网课答案解析接口

热门文章

  1. java 商品类目 递归
  2. linux忽略的信号可以被子进程继承,linux – 可以忽略(丢失)信号吗?
  3. Qt Creater使用快捷键
  4. 函数式编程(Lambda表达式、Optional、Stream流)
  5. python 属相生成
  6. 双向带头循环链表-实现思路+图解
  7. idea学习系列三之版本管理工具
  8. 常用版本管理工具对比
  9. 蒟蒻的 心路历程???
  10. [MAUI] 在.NET MAUI中结合Vue实现混合开发