zoukankan      html  css  js  c++  java
  • Codeforces Round #359 (Div. 2) C. Robbers' watch DFS

    C. Robbers' watch

    链接:

    http://codeforces.com/contest/686/problem/C

    题意:

    给你n和m,找出(a,b)的对数,其中a满足要求:0<=a<n,a的7进制的位数和n-1的7进制的位数相同,b满足要求:0<=b<m,b的7进制的位数和m-1的7进制的位数相同,且a和b的7进制下的位上的数都不相同,即如果a的七进制数为10,b的7进制数为21,这种情况是不行的,因为重复了1

    题解:

    先计算n,m各需要多少位(注意7需要1位就够了,而不是两位),枚举每一位的数,一个标记数组就可以了,找完a再找b,注意中间的回溯,找完b检查一下就好了

    代码:

     1 #include<iostream>
     2 using namespace std;
     3 
     4 int n, m;
     5 int la = 1, lb = 1;
     6 int vis[10];
     7 int ans = 0;
     8 
     9 void dfs2(int k,int num)
    10 {
    11     if (k == lb) {
    12         ans++;
    13         return;
    14     }
    15     for (int i = 0; i <= 6; i++) {
    16         if (vis[i] == 0 && num * 7 + i < m) {
    17             vis[i] = 1;
    18             dfs2(k + 1, num * 7 + i);
    19             vis[i] = 0;
    20         }
    21     }
    22 }
    23 
    24 void dfs1(int k,int num)
    25 {
    26     if (k == la) {
    27         dfs2(0, 0);
    28         return;
    29     }
    30     for (int i = 0; i <= 6; i++) {
    31         if (vis[i] == 0 && num * 7 + i < n) {
    32             vis[i] = 1;
    33             dfs1(k + 1, num * 7 + i);
    34             vis[i] = 0;
    35         }
    36     }
    37 }
    38 
    39 int main()
    40 {
    41     cin >> n >> m;
    42     int fn = n, fm = m;
    43     if (n > 0)n--;
    44     if (m > 0)m--;
    45     while (n / 7) {
    46         la++;
    47         n /= 7;
    48     }
    49     while (m / 7) {
    50         lb++;
    51         m /= 7;
    52     }
    53     n = fn, m = fm;
    54     if (la + lb > 7) {
    55         cout << 0 << endl;
    56         return 0;
    57     }
    58     dfs1(0, 0);
    59     cout << ans << endl;
    60     return 0;
    61 }
  • 相关阅读:
    ansible(十)roles
    playbook变量(九)for循环
    playbook变量(八)循环迭代
    playbook变量(七)template 基本使用 when
    playbook变量(六)template 基本使用
    playbook变量(五)
    Sqoop2常用命令介绍
    Sqoop2入门之导入关系型数据库数据到HDFS上
    Sqoop2环境搭建
    Spark On Yarn中spark.yarn.jar属性的使用
  • 原文地址:https://www.cnblogs.com/baocong/p/5913936.html
Copyright © 2011-2022 走看看