UVA 11205 - The broken pedometer
题目大意:题中给了一种例子,LED的七根灯管不同的开关方式显示0到9的数字。其中可以去掉第六根灯管(可能去掉其他也可以,没细究)也就是只要六根灯管就可以区分所有的数字。简单理解可以认为是7位的一个二进制数,每个字符有不同的二进制数。开为1,关为0。最少需要几个位可以区分所有字符。输入r,l。r代表几位的二进制,l代表有几个字符。
解题思路:用子集生成的增量构造法。这是一个可以求一个集合所有集合的方法。我们对每一个子集都对应二进制的位,算出只取这些位计算出的每个字符的二进制数的大小是否都不一样。都不一样代表这个子集的元素数就可以是需要的位。
ac代码:
#include <iostream>
#include <cmath>
#include <set>
using namespace std;
int n, r, l, pu[105][105], a[105], len;
set <int>se;
void print_subset(int cur)
{se.clear();int sum, minu;for (int i=0; i<l; i++){sum = 0;for (int j=0; j<cur; j++)sum += pu[i][ a[j] ] * pow(2, a[j]);if (!se.count(sum))se.insert(sum);}if (se.size() == l && cur < len)len = cur; if (cur)minu = a[cur-1] + 1;elseminu = 0;for (int i=minu; i<r; i++){a[cur] = i;print_subset(cur+1);}
}
int main()
{scanf("%d", &n);while (n--){scanf("%d%d", &r, &l);len = r;for (int i=0; i<l; i++) for (int j=0; j<r; j++)scanf("%d", &pu[i][j]);print_subset(0);printf("%d\n", len);}
return 0;
}
UVA 11205 - The broken pedometer相关推荐
- uva 11205 The broken pedometer
刚开始一列一列考虑,最后再减去能去掉几列,后来才发现是错误的.单独考虑某一列,同时去掉几列时,单独考虑的不一定成立.后来一查是算法竞赛入门经典里面的p188页的位向量法.原来一直以为这边书空有理论,现 ...
- UVaOJ 11205 - The broken pedometer
--by A Code Rabbit Description 有p个LED灯,可以组成一个灯牌. 灯牌上可以显示一些有意义的符号,比如显示数字啥的. 现在有n个灯牌,显示的符号各不相同. 问你最少用几 ...
- 11205 - The broken pedometer
语言:C++ 描述:这道题其实一开始自己就是错误思维,题目就是通过最少的二进制位表示所有的数,也就是说存在自由组合的问题,不过存在这样的问题:如果一列二进制数被删去后,可以使列数减一来表示了所有的数了 ...
- UVa11205 The Broken Pedometer
// 题意:有P个LED灯,以及N个字符,要求选出个数最少的LED灯,使得即使只有这些灯正常工作,也能区分出这N个字符 // 题意抽象:输入两个整数P, N以及N行P列的01矩阵,找少的列,能区分所有 ...
- 第六周 8.23-8.29
8.23 POJ 3311 Hie with the Pie TSP问题. 先跑一遍Floyd.再状压dp. dp[i][j]表示经过集合i的点最后到达j的最短距离. 转移:取集合i中任意一点j.如果 ...
- 提取了下刘汝佳推荐的题号...
今天闲来没事上uva oj提取了下刘汝佳推荐的acm题号,原始数据如下: Volume 0. Getting Started 10055 - Hashmat the Brave Warrior ...
- TYUT-A专题题解(一)
TYUT-A专题题解(一) 01A Ad Hoc UVA353 LA5247 Pesky Palindromes[回文] - 海岛Blog - CSDN博客 UVA947 Master Mind He ...
- Competitive Programming 3题解
题目一览: Competitive Programming 3: The New Lower Bound of Programming Contests(1) Competitive Programm ...
- AOAPC I: Beginning Algorithm Contests 题解
AOAPC I: Beginning Algorithm Contests 题解 AOAPC I: Beginning Algorithm Contests (Rujia Liu) - Virtual ...
最新文章
- 多形态MVC式Web架构:完成实时响应
- 空调能窃听插座能放火?物联网成了“危”联网
- qq分享 设备未授权报错解决方案_金融行业思科设备典型网络故障案例:76系列典型案例(四)...
- Mapillary发布世界最大交通标志数据集,用于自动驾驶研究
- SAP License:对虚拟利润中心的几点认识
- 整理: JAVA错误处理集锦
- thinkphp5 return 返回空_杨丞琳演唱会意外踩空,从两层楼高的舞台掉落,李荣浩心疼发文...
- 存数字,储未来——新华三2018存储瞄准闪存、海量、AI与超融合
- 预训练语言模型关系图+必读论文列表,清华荣誉出品
- C# 开发 Windows 服务 使用Log4net 组件 不能生成日志文件
- oracle 方法函数,执行oracle函数的四种方法
- 手机号码归属地查询,手机号码归属地批量查询
- 芯片设计流程 芯片的设计原理图
- 1.3 新概念 可数名词变复数
- 2019年7月2日 星期二(韩天峰的建议)
- CDA Level Ⅲ 模拟题(二)
- [论文阅读] (07) RAID2020 Cyber Threat Intelligence Modeling Based on Heterogeneous GCN
- word文档除号怎么打出来之除号插入的方法教程
- 中国互联网金融:浪潮还是浪花?
- The Pilots Brothers' refrigerator DFS+枚举