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

例如,上面的二进制手表读取 “3:25”。
输入一个非负整数 n 代表当前 LED 亮着的数量,输出所有可能的时间。
结果按字典序排列

输入

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

输出

输出所有可能的时间组合

样例输入 Copy

1

样例输出 Copy

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.输出顺序按照字典序从小到大排序

笔记:每次使用set 时,一定要先clear一下不然容易出错。

正确代码:

#include<iostream>
#include<stdio.h>
#include<set>
#include<string>
using namespace std;
int n;
int sz[4]={1,2,4,8};
int viss[4];
int fz[6]={1,2,4,8,16,32};
int visf[6];
set<string> sk;
string str;
int ans;
void dfs(int s,int f, int len){if(len==n){char buf[1000];char c=':'; //printf("%d:%02d\n",s,f);sprintf(buf,"%d%c%02d",s,c,f);ans++;sk.insert(buf);//printf("%s\n",buf);//cout<<s<<":"<<f<<endl;return;}for(int i=0;i<6;i++){if(visf[i]){continue;}if(f+fz[i]>59){continue;}visf[i]=1;dfs(s,f+fz[i],len+1);visf[i]=0;}for(int i=0;i<4;i++){if(viss[i]){continue;}if(s+sz[i]>11){continue;}viss[i]=1;dfs(s+sz[i],f,len+1);viss[i]=0;}
}
int main(){while(cin>>n){ans=0;int s=0,f=0,len=0;for(int i=0;i<4;i++){viss[i]=0;}for(int i=0;i<6;i++){visf[i]=0;}sk.clear();//每次都要刷新一下 dfs(0,0,len);if(ans){for(set<string>::iterator it=sk.begin();it!=sk.end();++it){cout<<*it<<"\n";}}}return 0;
}

代码缩减后:

#include<iostream>
#include<stdio.h>
#include<set>
#include<string>
using namespace std;
set<string> sk;
int n;
int times[10]={1,2,4,8,1,2,4,8,16,32};
int vis[10];
int ans;
void dfs(int s,int f, int len){if(len==n){char buf[10000];char c=':';sprintf(buf,"%d%c%02d",s,c,f);sk.insert(buf);ans++;//printf("%d:%02d\n",s,f);return;}for(int i=0;i<10;i++){if(vis[i]){continue;}if(i<4){if(s+times[i]>11){continue;}vis[i]=1; dfs(s+times[i],f,len+1);vis[i]=0;}else{if(f+times[i]>59){continue;}vis[i]=1;dfs(s,f+times[i],len+1);vis[i]=0;}}
}
int main(){while(cin>>n){int ans=0;int s=0,f=0,len=0;for(int i=0;i<10;i++){vis[i]=0;}sk.clear();//每次都要刷新一下 dfs(0,0,len);for(set<string>::iterator it=sk.begin();it!=sk.end();++it){cout<<*it<<"\n";}}return 0;
}

问题 E: LZY去年买了个表相关推荐

  1. 去年买彩票中了400多万

    去年买彩票中了400多万,当时我领奖的时候,眼睛都花了,长怎么大,没见过怎么多钱,我害怕我老婆乱花钱,就赶紧把钱存了支付宝的里面,现在每天的收益是240块,一个月就大概是7000多块钱,我觉得我够一家 ...

  2. [别被脱库]—数据库的初恋~

    此数据库系列,是学习工作中的总结,具体章节系列如下图所示.如果您需要扫盲数据库,突击数据库的面试,那就盘他,盘他!所谓初恋,初次见面,下凡数据库基础.请多多关照! 童鞋别被脱裤系列 这是系列篇第一节, ...

  3. git 解决远程和本地冲突

    本地先commit 1. git rebase  origin/master    根据你自己的分支rebase 2. 编辑冲突文件,合并文件.例如: <<<<<< ...

  4. 独家揭秘:美国网红的盈利模式

    作者:Han 全文共 3622 字 13 图,阅读需要 8 分钟 ---- / BEGIN / ---- 你知道[融化起司] (Melted Cheese)这道菜吗? 起源于瑞士,俗称"奶酪 ...

  5. 评测本年度最新款第三方评论系统 ——网易云跟贴的优势与不足

    首先,我不是技术控,对软件的理解以及系统的运用都是门外汉.我跟众多网民一样,平时了解到什么趣事,下班后,就写个帖子分享一下;每天在各大门户上看到好帖子,就会在评论框下跟个帖;在留言处看到有共鸣的跟帖, ...

  6. (十四)桥接模式详解(都市异能版)

    作者:zuoxiaolong8810(左潇龙),转载请注明出处. 魔都国贸附近,某天夜里十一点半. 那一晚,魔都出奇的没有做只打雷不下雨的勾当,老天似乎是要将魔都淹没一般,倾盆大雨像不要命似的拍打着地 ...

  7. 桥接模式详解(都市异能版)

    作者:zuoxiaolong8810(左潇龙),转载请注明出处,特别说明:本博文来自博主原博客,为保证新博客中博文的完整性,特复制到此留存,如需转载请注明新博客地址即可. 魔都国贸附近,某天夜里十一点 ...

  8. (十四)桥接模式详解(都市异能版) - 转

    作者:zuoxiaolong8810(左潇龙),转载请注明出处. 魔都国贸附近,某天夜里十一点半. 那一晚,魔都出奇的没有做只打雷不下雨的勾当,老天似乎是要将魔都淹没一般,倾盆大雨像不要命似的拍打着地 ...

  9. 评测本年度最新款第三方评论系统—网易云跟贴的优势与不足

    首先,我不是技术控,对软件的理解以及系统的运用都是门外汉.我跟众多网民一样,平时了解到什么趣事,下班后,就写个帖子分享一下;每天在各大门户上看到好帖子,就会在评论框下跟个帖;在留言处看到有共鸣的跟帖, ...

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

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

最新文章

  1. 网络推广专员如何稳定搜索引擎首页排名全力以赴致力于网络推广
  2. 在malloc函数中为什么常用sizeof来设定内存分配的大小?
  3. [css] padding会影响到元素的大小,那不想让它影响到元素的宽度应该怎么办?
  4. Outlook 邮箱备份操作手册
  5. ASP.NET验证控件祥解[转]
  6. 虎头少保,天下第一手孙禄堂【转】
  7. PR/AE/CTA学习笔记
  8. sketch怎么把psd导出为HTML,如何巧妙将sketch文档完美转换成PSD
  9. AMD处理器的发展历程
  10. java面试常见知识点
  11. 教你如何用PQ魔法师调整硬盘分区大小
  12. [读书笔记]组件设计:补白[深入剖析ASP.NET组件设计]一书中HttpApplication对象创建的细节...
  13. 帝国cms php循环,帝国cms 灵动标签 循环嵌套
  14. 理解负反馈可以减小输出电阻
  15. 圆拟合Taubin fit 方法
  16. JAVA 繁体 转 简体 简体转翻译 繁体简体互转
  17. 如何用tick数据构建买入情绪因子
  18. 图像拼接缝融合之加权融合
  19. JSP九大内置对象及基本使用
  20. java快递100接口开发_java swing开发的一个抓取快递100查询接口的小工具

热门文章

  1. 基于SSM的共享汽车管理系统设计与实现
  2. win10 应用商店无法联网(0x80072EFD)
  3. 门户网站搜索引擎优化(SEO)解决方案
  4. 英语基础语法(九)-被动语态
  5. 无法打开internet站点,ie无法打开站点的解决方法【图解】
  6. 目标检测之正负样本详解
  7. Allegro导出dxf
  8. Sydney 免费wordpress企业主题
  9. 水声网络架构及关键问题笔记
  10. 数字图像处理-第一章