题意:

n,m<=1e9

设定一天n小时,一小时m分钟,

显示时间的是一个7进制的表,

问你在一天里出现多少个时刻,表中的数字要都不相同。

思路:

因为7进制,显示的数字肯定是0-7之间的。

然后就是搜一下,注意显示的方式,所以m分钟有几位就是显示几位

#include <bits/stdc++.h>
#include<algorithm>
using namespace std; typedef __int64 LL; int mm[25],hh[25];
bool vis[10];
LL ans,shi,fen;
int cnt1,cnt2;
LL n,m; void dfs_hh(int num,LL shi)
{
if(num==cnt1)
{
if(shi<n)
{
ans++;
return;
}
}
for(int i=0;i<7;i++)
{
if(!vis[i])
{
shi+=(LL)pow(7,num)*(LL)i;
vis[i]=1;
dfs_hh(num+1,shi);
vis[i]=0;
shi-=(LL)pow(7,num)*(LL)i;
}
}
} void dfs_mm(int num,LL fen)
{
if(num==cnt2)
{
if(fen<m)
{
dfs_hh(0,0);
return;
}
}
for(int i=0;i<7;i++)
{
if(!vis[i])
{
vis[i]=1;
fen+=(LL)pow(7,num)*(LL)i;
dfs_mm(num+1,fen);
vis[i]=0;
fen-=(LL)pow(7,num)*(LL)i;
}
}
}
int main()
{
scanf("%I64d%I64d",&n,&m);
LL nn,mm;
nn=n,mm=m;
if(nn>1) nn--;
if(mm>1) mm--;
cnt1=cnt2=0;
while(nn)
{
++cnt1;
nn/=7;
}
while(mm)
{
++cnt2;
mm/=7;
}
ans=0;
memset(vis,0,sizeof(vis));
dfs_mm(0,0);
printf("%I64d\n",ans);
return 0;
}

最新文章

  1. c/c++常用网址
  2. 3秒后自动跳转页面【js】
  3. Python中,添加写入数据到已经存在的Excel的xls文件,即打开excel文件,写入新数据
  4. 【LeetCode OJ】Binary Tree Maximum Path Sum
  5. C# 绘制统计图(柱状图, 折线图, 扇形图)
  6. 09_rlCoachKin讲解
  7. 了解node.js
  8. 用win32API 实现TextBox水印特效
  9. Koa源码分析(一) -- generator
  10. matplotlib绘图2
  11. bzoj1002/luogu2144 轮状病毒 (dp)
  12. Ping 不通的原因分析
  13. 怎么在sublime/emmet中加自定义的内容-sublime使用心得(3)
  14. springmvc使用包装的pojo接收商品信息的查询条件
  15. 在微信开发中如果WeixinJSBridge.call(&#39;closeWindow&#39;);关闭窗口无效!
  16. 自然语言处理系列-4条件随机场(CRF)及其tensorflow实现
  17. 【Java面试题】21 Java中的异常处理机制的简单原理和应用。
  18. No Mapping For GET &quot;xxx.do&quot;
  19. 再装虚拟机及git
  20. Numpy入门笔记第一天

热门文章

  1. jQuery -&amp;gt; 获取后代元素的三种方法
  2. Html5培训之精髓
  3. 关于文件与文件系统的压缩与打包命令-Linux(笔记)
  4. [leetcode解题记录]Jump Game和Jump Game II
  5. 【iOS开发系列】cell切割线置顶
  6. spring核心框架体系结构(各个jar包作用)
  7. eclipse新建安卓项目helloworld
  8. poj 1195 Mobile phones 解题报告
  9. 编译含有Servlet的java文件
  10. CoderForces343D:Water Tree(dfs序+线段树&amp;&amp;特殊处理)