UVa 10718 - Bit Mask
来源:互联网 发布:淘宝购买白额高脚蛛 编辑:程序博客网 时间:2024/05/12 10:51
很有趣的一道贪心题,思路非常巧妙
将M、L和U的二进制形式表示出来,从高位开始贪心,在不能比较出大小的情况下,需要根据L和U的第i位值推断第i位数字为1还是为0,在能够比较出大小的情况下,则可以直接填M的第i位
#include <stdio.h>long long bit2[35];int main(){ bit2[0]=1; for(int i=1;i<=32;i++) { bit2[i]=bit2[i-1]*2; } long long a,b,m,p; bool M[35],A[35],B[35],ans[35]; while(scanf("%I64d%I64d%I64d",&m,&a,&b)==3) { p=0; for(int i=32;i>=0;i--) { if(m>=bit2[i]){M[i]=1;m-=bit2[i];} else M[i]=0; } for(int i=32;i>=0;i--) { if(a>=bit2[i]){A[i]=1;a-=bit2[i];} else A[i]=0; } for(int i=32;i>=0;i--) { if(b>=bit2[i]){B[i]=1;b-=bit2[i];} else B[i]=0; } int ok=0; for(int i=32;i>=0;i--) { if(!ok) { if(A[i]==B[i]) ans[i]=A[i]; else if(A[i]<B[i]) { if(A[i]==M[i]) { ans[i]=B[i];ok=1; } else { ans[i]=A[i];ok=-1; } } } if(ok==1) { if(A[i]==B[i]) { if(A[i]==M[i]&&A[i]) {ans[i]=0;ok=2;} else ans[i]=B[i]; } else if(A[i]<B[i]) { if(A[i]==M[i]) ans[i]=B[i]; else { ans[i]=A[i];ok=2; } } else ans[i]=B[i]; } if(ok==-1) { if(A[i]==B[i]) { if(A[i]==M[i]&&!A[i]) {ans[i]=1;ok=2;} else ans[i]=B[i]; } else if(A[i]<B[i]) { if(A[i]==M[i]) { ans[i]=B[i];ok=2; } else ans[i]=A[i]; } else ans[i]=A[i]; if(ans[i]>A[i])ok=2; } if(ok==2) { if(M[i]==0)ans[i]=1; else ans[i]=0; } } for(int i=32;i>=0;i--) { if(ans[i])p+=bit2[i]; } printf("%I64d\n",p); } return 0;}
- UVa 10718 - Bit Mask
- UVa 10718 - Bit Mask
- uva 10718 - Bit Mask
- uva 10718 - Bit Mask
- UVA 10718 Bit Mask
- UVa 10718 - Bit Mask
- uva 10718 Bit Mask
- UVA - 10718 Bit Mask
- uva 10718 - Bit Mask
- UVA 10718 Bit Mask
- UVa 10718 - Bit Mask
- UVA - 10718 Bit Mask
- UVA 10718 Bit Mask
- uva 10718 Bit Mask
- UVA - 10718 Bit Mask 贪心
- UVA 10718 Bit Mask (快速幂 + 贪心)
- uva 10718 Bit Mask (位运算)
- uva 10718 Bit Mask(贪心)
- mfc ansi unicode转换
- 关于JNI调用第三方静态库
- Java NIO系列教程(六) Selector
- Java web 推荐书籍
- 记录下利用spydroid获取SDP文件内容的点滴
- UVa 10718 - Bit Mask
- 八皇后
- Jersey Restful Framework
- Oracle数据库的连接方式之一:NESTED LOOPS join
- CSS的力量
- uploadify HTTP Error (302)错误
- NSMutableDictionary的用法
- 选择文件存放目录
- 关于Installation error: INSTALL_FAILED_INSUFFICIENT_STORAGE的解决方案