Codeforces686C【dfs】
题意: 
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;
}
Codeforces686C【dfs】的更多相关文章
- 【第40套模拟题】【noip2011_mayan】解题报告【map】【数论】【dfs】
		目录:1.潜伏者 [map] 2.Hankson的趣味题[数论]3.mayan游戏[dfs] 题目: 1. 潜伏者(spy.pas/c/cpp)[问题描述]R 国和S 国正陷入战火之中,双方都互派间谍 ... 
- Kattis - glitchbot 【DFS】
		Kattis - glitchbot [DFS] 题意 有一个机器人 刚开始在(0, 0),然后给出一个目标点,并且会给出一系列指令,但是其中会有一个指令是错误的.我们需要找出那个指令,并且改成正确的 ... 
- HDU 6113 度度熊的01世界 【DFS】(2017"百度之星"程序设计大赛 - 初赛(A))
		度度熊的01世界 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Su ... 
- 【dfs】P1331 海战
		题目描述 在峰会期间,武装部队得处于高度戒备.警察将监视每一条大街,军队将保卫建筑物,领空将布满了F-2003飞机.此外,巡洋船只和舰队将被派去保护海岸线.不幸的是因为种种原因,国防海军部仅有很少的几 ... 
- 【dfs】p1731 生日蛋糕
		1441:[例题2]生日蛋搞 [题目描述] 7月17日是Mr.W的生日,ACM-THU为此要制作一个体积为Nπ的M层生日蛋糕,每层都是一个圆柱体.设从下往上数第i(1≤i≤M)层蛋糕是半径为Ri, 高 ... 
- 【dfs】LETTERS
		1212:LETTERS [题目描述] 给出一个roe×colroe×col的大写字母矩阵,一开始的位置为左上角,你可以向上下左右四个方向移动,并且不能移向曾经经过的字母.问最多可以经过几个字母. [ ... 
- 洛谷P1605 迷宫【dfs】
		题目背景 迷宫 [问题描述] 给定一个N*M方格的迷宫,迷宫里有T处障碍,障碍处不可通过.给定起点坐标和 终点坐标,问: 每个方格最多经过1次,有多少种从起点坐标到终点坐标的方案.在迷宫 中移动有上下 ... 
- 【dfs】BZOJ1703-[Usaco2007 Mar]Ranking the Cows 奶牛排名
		[题目大意] 农夫约翰有N(1≤N≤1000)头奶牛,每一头奶牛都有一个确定的独一无二的正整数产奶率.约翰想要让这些奶牛按产奶率从高到低排序,约翰已经比较了M(1≤M≤10000)对奶牛的产奶率,但他 ... 
- 【DFS】BZOJ3522-[Poi2014]Hotel
		[题目大意] 给出一棵树,求三个节点使得它们两两之间的距离相等,问共有多少种可能性? [思路] 显然,这三个节点是关于一个中心点对称地辐射出去的. 枚举中心点,往它的各个子树跑Dfs.tmp[i]表示 ... 
随机推荐
- Visual Studio VS如何统计代码行数
			编辑-查找和替换-在文件中查找,然后查找内容填写下面的东西,勾选使用正则表达式,点击查找全部 b*[^:b#/]+.*$ 在查找结果的最后一行显示了总的行数和文件数 ... 
- UP Board USB无线网卡选购指南
			前言 原创文章,转载引用务必注明链接,水平有限,欢迎指正. 本文环境:ubilinux 3.0 kernel 4.4.0 本文使用Markdown写成,为获得更好的阅读体验和正常的图片.链接,请访问我 ... 
- iOS开发核心语言Objective C —— 面向对象思维、setter和getter方法及点语法
			本分享是面向有意向从事iOS开发的伙伴们.或者已经从事了iOS的开发人员.假设您对iOS开发有极高的兴趣,能够与我一起探讨iOS开发.一起学习,共同进步.假设您是零基础,建议您先翻阅我之前分享的iOS ... 
- [leetcode] database解题记录
			175 Combine Two Tables 题目:左连接Person表和Address表. select FirstName,LastName,City,State from Person p le ... 
- Node.js 爬虫批量下载美剧 from 人人影视 HR-HDTV
			这两天发现了一个叫看知乎的站点.是知乎的苏莉安做的,当中爬虫使用的 Node.js.这里就针对上一篇博客中的美剧小爬虫,改用 nodejs 进行实现一下.体验一下强大的 Node.js. 假设之前没实 ... 
- 读懂这些spring boot的核心注解,快速配置完成项目搭建
			在spring boot中,摒弃了spring以往项目中大量繁琐的配置,遵循约定大于配置的原则,通过自身默认配置,极大的降低了项目搭建的复杂度.同样在spring boot中,大量注解的使用,使得代码 ... 
- (转载)常用的Mysql数据库操作语句大全
			打开CMD,进入数据库命令:mysql -hlocalhost -uroot -p 退出数据库:exit 用户管理: 1.新建用户: >CREATE USER name IDENTIFIED B ... 
- 防sql注入 盲注等措施  ESAPI的使用
			SQL注入往往是在程序员编写包含用户输入的动态数据库查询时产生的,但其实防范SQL注入的方法非常简单.程序员只要a)不再写动态查询,或b)防止用户输入包含能够破坏查询逻辑的恶意SQL语句,就能够防范S ... 
- luogu2704 炮兵阵地 状态压缩DP
			题目大意:一个N*M的地图由N行M列组成,地图的每一格可能是山地(用“H” 表示),也可能是平原(用“P”表示),在每一格平原地形上最多可以布置一支炮兵部队,能攻击到的区域:沿横向左右各两格,沿纵向上 ... 
- java map 装入list
			需要生成多组数据的时候,应将map时候放入循环,否则循环出来会一直覆盖之前的,只能保存一条数据. 具体如下: if (rs.next()) { do { Map<String, String&g ... 
