博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
uva1252
阅读量:5155 次
发布时间:2019-06-13

本文共 1107 字,大约阅读时间需要 3 分钟。

dp[s][a]已询问{s}有{a}特征,还需要查询几次才能明确是哪一样物品。

答案为dp[0][0].

#include
using namespace std;#define ll long longll n,m;short dp[2050][2050];ll a[200],s0;int main(){ freopen("p.in","r",stdin); ios::sync_with_stdio(false); cin>>m>>n; while(n+m!=0){ memset(dp,0,sizeof(dp)); for(int i=1;i<=n;i++){ ll sum=0,x; char c; for(int j=1;j<=m;j++){ cin>>c; if(c=='0')x=0;else x=1; sum=sum*2+x; } a[i]=sum; } for(int s=(1<
=0;s--){ s0=s; while(1){ bool az=1; ll cnt=0; for(int j=1;j<=n;j++){ ll tmp=a[j]&s; if(tmp==s0)cnt++; if(cnt>1){az=0;break;} } if(az)dp[s][s0]=0;else{ ll miner=1000; for(int i=1;i<=m;i++){ ll u=1<<(i-1); if((u&s)==0){ ll q; q=max(dp[s|u][s0|u],dp[s|u][s0]); miner=min(q,miner); } } dp[s][s0]=miner+1;} if(!s0)break; s0=(s0-1)&s; }} cout<
<
>m>>n; } return 0;}
View Code

 

转载于:https://www.cnblogs.com/lxzl/p/9753744.html

你可能感兴趣的文章
PAT甲题题解-1119. Pre- and Post-order Traversals (30)-(根据前序、后序求中序)
查看>>
小型web项目的模块化(转)
查看>>
MySQL数据库简单操作
查看>>
HDU 2756 & UVA 11572 Unique Snowflakes
查看>>
2015/9/22 Python基础(18):组合、派生和继承
查看>>
【转载】Python 中的 if __name__ == '__main__' 该如何理解
查看>>
Python之路_Day7
查看>>
excel转换成图片
查看>>
30秒破解所有密码
查看>>
mysql字段类型
查看>>
使用XmlSerializer序列化可空属性
查看>>
国外天气预报接口, 全球热门城市天气7天天气预报接口文档
查看>>
深入浅出SQL Server中的死锁
查看>>
一次意外的X锁不阻塞问题
查看>>
某猿的饭局
查看>>
枚举和位移
查看>>
JavaScript教程:浅析JS运行机制
查看>>
Duilib 实现右下角弹出像QQ新闻窗口,3秒后窗口透明度渐变最后关闭,若在渐变过程中鼠标放到窗口上,窗口恢复最初状态(二)...
查看>>
C++进程间通信之共享内存
查看>>
关于GestureDetector.OnGestureListener的onScroll参数distance问题
查看>>