题目描述:

LSH去年买了个表,很神奇,是个二进制手表。如下图所示

例如,上面的二进制手表读取 “3:25”。

输入一个非负整数 n 代表当前 LED 亮着的数量,输出所有可能的时间。

结果按字典序排列

输入描述:

测试数据由多组测试样例组成。每组测试样例第一行输入一个整数 n ( 0 <= n <= 8 )

输出描述:

输出所有可能的时间组合

测试样例:

样例输入 1

1

样例输出 1

0:01

0:02

0:04

0:08

0:16

0:32

1:00

2:00

4:00

8:00

提示:

1.小时不会以零开头,比如 “01:00” 是不允许的,应为 “1:00”。
2.分钟必须由两位数组成,可能会以零开头,比如 “10:2” 是无效的,应为 “10:02”。
3.输出顺序按照字典序从小到大排序

emmmm,菜鸡表示我这题是真的没有想明白,看到以往大佬的写法,于是决定写篇博客记录一下(出题人太强了),这题显示的小时和不能大于11,分钟和不能大于59,没有进位的情况,大概就是这样,建议看以往学长的博客,我的只是笨比写法

#include<bits/stdc++.h>
using namespace std;
set<string> se;
int hh[4] = {1, 2, 4, 8};
int mm[6] = {1, 2, 4, 8, 16, 32};
bool vish[4];
bool vism[6]; void dfs(int h, int m, int len, int n){if(len == n){string s = "";string ss = "";if(h == 0){s += "0";}while(h){ss += (h % 10) + '0';h /= 10;}reverse(ss.begin(), ss.end());s += ss;s += ":";ss = "";if(m == 0){s += "00";}else if(m < 10){s += "0";s += m + '0';}else{while(m){ss += (m % 10) + '0';m /= 10;}reverse(ss.begin(), ss.end());s += ss;}se.insert(s);return ;}for(int i = 0; i < 6; i++){if(vism[i]){continue;}if(m + mm[i] > 59){continue;}vism[i] = 1;dfs(h, m + mm[i], len + 1, n);vism[i] = 0;}for(int i = 0; i < 4; i++){if(vish[i]){continue;}if(h + hh[i] > 11){continue;}vish[i] = 1;dfs(h + hh[i], m, len + 1, n);vish[i] = 0;}
}int main(){int n;while(cin >> n){se.clear();memset(vish, 0, sizeof(vish));memset(vism, 0, sizeof(vism));dfs(0, 0, 0, n);for(auto i : se){cout << i << endl;}}return 0;
}

ZJYYC LSH去年买了个表(也是LZY去年买了个表) DFS相关推荐

  1. 未封装的扩展程序是什么意思_伊能静双11买900件商品,张萌发文去年快递未收到,什么意思?...

    昨天凌晨,伊能静发文报告双11购物战况,整个双十一大约购入900件,11月11日单日用了三个号码购入397件商品. 双十一期间,小编专门挑有需要的.便宜的买,狠心狠心再狠心最后才买了不足100件. 妈 ...

  2. 未封装的扩展程序是什么意思_伊能静双11买900件商品,张萌发文去年快递未收到什么意思?...

    昨天凌晨,伊能静发文报告双11购物战况,整个双十一大约购入900件,11月11日单日用了三个号码购入397件商品. 双十一期间,小编专门挑有需要的.便宜的买,狠心狠心再狠心最后才买了不足100件. 妈 ...

  3. angular js创建表单_如何优雅的使用 Angular 表单验证

    随便说说,这一节可以跳过 去年参加 ngChine 2018 杭州开发者大会的时候记得有人问我: Worktile 是什么时候开始使用 Angular 的,我说是今年(2018年) 3 月份开始在新模 ...

  4. oracle外部表使用详解,详解Oracle外部表的一次维护(图文)

    在做Oracle数据库的导出导入操作的时候,发现在将导出数据导入到新库过程中报告如下错误: 在查看数据库中关于外部表的视图中相关信息:select * from dba_directoriesSele ...

  5. 数据库表(字段类型、约束、截断表、修改表字段、重命名表)

    字段类型: 在这里只列举一些常用的字段类型: 整数类型:int(Integer):普通大小的整数 小数类型: float(m,d):单精度浮点数,m表示数字长度,d表示小数位数,例如float(5,2 ...

  6. 涉密计算机用户账号设置审批表,北京邮电大学涉密计算机配置审批表.PDF

    北京邮电大学涉密计算机配置审批表 北京邮电大学涉密计算机配置审批表 使用部门 品牌型号 涉密计算机类型 ?台式机 ?便携机 资产编号 用途 ?科研 ?办公 ?其他 配置日期 硬盘序列号 中央处理器 硬 ...

  7. 【数据结构】邻接表的储存结构 建立图的邻接表算法

    [数据结构]邻接矩阵及其实现 一个图的邻接矩阵的表示是唯一的,但其邻接表表示不唯一,这是因为在邻接表结构中,各便表结点的链接次序取决于建立邻接表时的算法以及输入的次序. 一般而言邻接矩阵适合存储稠密图 ...

  8. python提交表单无效_使用Django Form解决表单数据无法动态刷新的两种方法

    一.无法动态更新数据的实例 1. 如下,数据库中创建了班级表和教师表,两张表的对应关系为"多对多" from django.db import models class Class ...

  9. 2020身高体重标准表儿童_2020年儿童标准身高体重表发布,对比看看,你家孩子达标了吗?...

    下载好向圈APP可以快速联系圈友 您需要 登录 才可以下载或查看,没有帐号?立即注册 x 说起孩子的身高,恐怕没有父母不关注.尤其到了春天,长高的"黄金季"来了,都恨不得孩子在这个 ...

  10. navcat设置oracle表主键自增_初识 Oracle 表空间设置与管理

    本文出自头条号老王谈运维,转载请说明出处. 前言 表空间是 Oracle 特有的一种逻辑结构,是管理和组织 Oracle 数据文件一种方式,一个Oracle 数据库能够有一个或多个表空间,而一个表空间 ...

最新文章

  1. 阿里转衰!百度没落!字节跳动崛起!未来的互联网是腾讯和字节跳动的世界!这样的言论你相信吗?...
  2. Tensorflow实践 基本原理学习和框架使用
  3. pip安装库速度较慢--常用的几个国内镜像
  4. 系统安全运维 Server 2008 R2 事件查看器实现日志分析
  5. java局部内部类 final_Java的局部内部类以及final类型的参数和变量
  6. mPaas 运维流程介绍
  7. 应用 | 同学,该学MyCat实际应用案例与MyCat读写分离了
  8. Android定位(是否使用GPS进行定位)
  9. 使用@property
  10. 《设计模式详解》结构型模式 - 外观模式
  11. VB禁用CTRL +ALT + DEL (2)
  12. NVMe驱动详解系列_第一部:NVMe驱动初始化与注销
  13. jetson-nano编译qt5.15.2带opengl,xcb
  14. 2020暑期牛客多校训练营第九场(C)Groundhog and Gaming Time(数学期望,线段树,逆元)
  15. 如何4步绘制出高水平的气泡图?
  16. (转载)QTableWidget详细用法总结(非常详细,基本所有常用函数都涉及了)
  17. 解析XML文件(字符串)的两种方法-----SAXReader 与 DocumentHelper
  18. 支付业务名词及释义大全
  19. 用docker搭建discuz论坛
  20. 新计算机教师工作随笔反思,初中信息技术教学随笔:在反思中成长

热门文章

  1. 大雪坪剑来 Spring Cloud 教程(二):Spring Boot 集成 mybatis 实现增删改查
  2. pycharm改变匹配括号的颜色
  3. 查看已连接的WiFi密码
  4. Android 判断当前身份证格式是否正确
  5. qqc什么梗_网络语cpdd是什么意思 王者荣耀QQ飞车里很常见
  6. 软件能力成熟度模型CMM
  7. B2065 鸡尾酒疗法
  8. 计算机本科毕业后还可以当音乐人吗,我想考计算机研究生 但是我音乐鉴赏不及格拿可能不到毕业证 那我还能报考研究生吗?...
  9. 解决使用Keil5不能生成bin文件或生成的是.bin文件夹问题
  10. Microsoft System Center (SCCM/SCOM)简介