zoukankan      html  css  js  c++  java
  • ZZNU 1993: cots' friends

    题目描述

    cot 最近非常喜欢数字, 喜欢到了什么程度呢, 已经走火入魔了....

    cot把每个朋友编上一个序号,然后遇到谁就叫"XX号",对此,他的朋友们一致认为cot"制杖"...

    cot对朋友编号也是有原因的, 他不会对朋友随便编一个号. cot的朋友实在是太多了, 为此,cot研习了一种数字叫做 "XX数", 这个数字的规则是这样的:

    一个数叫做"XX数",当且仅当存在两个数 a,b (0<=a,b<=9) 使得这个数的每一位只包含a或b.(a和b出现的次数为自然数)

    如果cot认为这个朋友对他比较重要,那么cot就会给这个朋友编个"XX数"的序号.

    现在cot给出一个编号区间,让作为好朋友的kog去计算在这个编号区间中有多少个人是cot心中比较重要的人? 但是作为cot的好朋友之一kog被cot恶心到了, 于是把这个问题甩给了你....

    输入

    输入包含一个数T(1<=T<=100), 代表测试数据的组数. 每组数据包含两个数 l, r.(1<=l,r<=10^8)(数据保证l,r形成的区间长度大于0).

    输出

    对于每组数据,输出在这个区间中对cot比较重要的人的个数.

    样例输入
    2
    1 10
    99 105
    
    样例输出
    10
    3
    
    提示
    对于第二组样例: 只有编号为99 100 101的朋友是cot心中比较重要的人.

    题目链接:http://acm.zznu.edu.cn/problem.php?id=1993

    **********************************************

    题意:给出你两个数,输出在这两个数之间只由两个数字组成的数的个数。

    分析:直接判断之间的数会超时。所以把由两个数字组成且在范围之类的数字存入数组,再判断数组里有那哪几个数。

    AC代码:

     1 #include <iostream>
     2 #include <algorithm>
     3 #include <cstdio>
     4 #include <cstring>
     5 #include<limits.h>
     6 #include <cmath>
     7 #include <cstdlib>
     8 #include <stack>
     9 #include <vector>
    10 #include <queue>
    11 #include <map>
    12 
    13 using namespace std;
    14 
    15 #define N 2000000
    16 #define INF 0x3f3f3f3f
    17 #define met(a, b) memset (a, b, sizeof (a))////  met (dist, -1);
    18 
    19 int a[N],n,l,r;
    20 
    21 void dfs(int x,int y,int z)
    22 {
    23     if(z>=l&&z<=r)
    24         a[n++]=z;
    25     if(z*10+x<=r&&(z!=0||x!=0))
    26         dfs(x,y,z*10+x);
    27     if(z*10+y<=r&&(z!=0||y!=0))
    28         dfs(x,y,z*10+y);
    29 }
    30 
    31 int main()
    32 {
    33     int T,i,j;
    34 
    35     scanf("%d", &T);
    36 
    37     while(T--)
    38     {
    39         n=0;
    40         scanf("%d %d", &l,&r);
    41         if(l>r)
    42             swap(l,r);
    43 
    44         for(i=0;i<=9;i++)
    45         for(j=i+1;j<=9;j++)
    46             dfs(i,j,0);
    47 
    48         sort(a,a+n);
    49         n=unique(a,a+n)-a;
    50         printf("%d
    ", n);
    51     }
    52     return 0;
    53 }
  • 相关阅读:
    JS计算字符串长度(兼容后端PHP)
    使用iview-admin2构建的项目,热更新无法启动
    关于HSTS的总结
    (转)javascript兼容问题总结
    js写一个通讯录
    HTML5+通讯录获取指定多个人的信息
    MUI封装的选择器调用
    心得小细节(一)
    读后感(一) web运作原理探析
    码农和软件开发工程师
  • 原文地址:https://www.cnblogs.com/weiyuan/p/5812777.html
Copyright © 2011-2022 走看看