UVA 11205 The broken pedometer ------二进制枚举
来源:互联网 发布:怀化天乙网络 编辑:程序博客网 时间:2024/05/16 11:32
题意:
有p盏LED灯,开着表示1,关着表示0。用这7盏灯表示出10个不同的数,现在问最少可以用多少盏灯,就能够将这n个不同的数分辨出来
分析:
由于LED灯最多为15,用二进制枚举,一共就2^15种,再加上对每种情况进行判断,是否能够表示出不同的数,最多每组100次比较,所以时间复杂度为10^6左右,暴力可以完成
代码如下:
#include <iostream>#include <stdio.h>using namespace std;int n,a[105],p;void dfs(){ int t=1<<p,mn=p+1; for(int i=0;i<t;i++) { int j=i; int ge=0; while(j>0) { ge+=j&1; j=j>>1; } if(ge>=mn) continue; int bj[33000]={0}; for(j=0;j<n;j++) { int k=a[j]&i; if(!bj[k]) bj[k]=1; else break; } if(j==n) mn=ge; } printf("%d\n",mn); return ;}int main(){ int t,k; cin>>t; while(t--) { scanf("%d%d",&p,&n); for(int i=0;i<n;i++) { a[i]=0; for(int j=0;j<p;j++) { scanf("%d",&k); a[i]=a[i]*2+k; } } dfs(); } return 0;}
0 0
- UVA 11205 The broken pedometer ------二进制枚举
- [UVA 11205] The broken pedometer (二进制枚举)
- uva 11205 The broken pedometer 枚举子集
- UVa 11205 The broken pedometer (枚举好题&巧用二进制)
- UVA 11205 - The broken pedometer 暴力 二进制表示状态
- UVa 11205 The broken pedometer
- uva 11205 - The broken pedometer
- uva 11205 - The broken pedometer
- UVa 11205 - The broken pedometer
- uva 11205 - The broken pedometer
- UVa 11205 - The broken pedometer
- UVA 11205 The broken pedometer
- uva 11205 The Broken Pedometer
- uva 11205 The broken pedometer
- uva 11205 - The broken pedometer
- UVa 11205 - The broken pedometer
- UVA 11205 The broken pedometer
- UVa 11205 - The broken pedometer
- Leetcode|Find Minimum in Rotated Sorted Array[二分查找]
- PES分组字段
- Palindrome Number
- 10.通知(NSNotification)
- ACdream1084
- UVA 11205 The broken pedometer ------二进制枚举
- 两个栈实现队列
- Redis 事务
- Number Sequence
- Leetcode|Find Minimum in Rotated Sorted Array II(有重复元素的二分查找)
- java里面的xx.jar和.net里面的xx.dll有什么异同
- Oracle常见函数的部分解释与示例
- 个人总结的一些面试技巧
- 我是一只百度贴吧的小爬虫