[BZOJ3668][Noi2014]起床困难综合症
2015-07-20 00:00
357 查看
原题地址
简单的贪心233
AC code:
简单的贪心233
AC code:
#include <cstdio> #include <cstring> #include <cmath> #define N 100001 #define L 31 int n,m,att=0,ans=0; int op ; bool num [L]; int main() { scanf("%d%d",&n,&m); for(int i=1;i<=n;i++){ int temp,len=0; char s[L]; scanf("%s%d",s,&temp); if(!strcmp(s,"AND")) op[i]=1; else if(!strcmp(s,"OR")) op[i]=2; else if(!strcmp(s,"XOR")) op[i]=3; while(temp){ num[i][++len]=temp&1; temp>>=1; } } for(int i=L-1;i>=1;i--){ bool temp=0; for(int j=1;j<=n;j++){ if(op[j]==1) temp&=num[j][i]; else if(op[j]==2) temp|=num[j][i]; else temp^=num[j][i]; } if(!temp&&att+(int)pow(2,i-1)<=m){ temp=1; for(int j=1;j<=n;j++){ if(op[j]==1) temp&=num[j][i]; else if(op[j]==2) temp|=num[j][i]; else temp^=num[j][i]; } if(temp) att+=(int)pow(2,i-1); } if(temp) ans+=(int)pow(2,i-1); } printf("%d\n",ans); return 0; }
相关文章推荐
- linux 下安装redis以及php Redis扩展
- linux 安装php的yaf框架
- 2015Cloudera金融行业大数据公开课-北京
- 云+微服务+新硬件:下一代大规模并行数据库架构风格
- 详述微服务架构的优势与不足
- 天津高端网站建设公司、天津精致页面设计公司
- 程序员的开发项目总是半途而废
- 快速掌握iOS 开发的技巧和方法
- 免费公开课福利来了
- VS调试问题
- 高校网络视频直播流媒体应用
- 基于Framebuffer显示的ZBar开源软件的移植
- Swift存储属性
- Linux常用命令
- [oracle 10g]登录sqlplus出错解决
- Python学习笔记_数字
- PHP加密与解密算法
- Android popwindow和fragment结合 左侧弹出下拉菜单 切换界面
- (C#)使用队列(Queue)解决简单的并发问题
- QueryPerformanceFrequency用法--Windows高精度定时计数