CF - 244B - Undoubtedly Lucky Numbers

题意:用x和y组成不大于n的整数有多少个(0 ≤ x,  y ≤ 9,1 ≤ n ≤ 10^9)。

题目链接:http://codeforces.com/problemset/problem/244/B

——>>枚举x, y,将其所有组成的数放入set,最后看set里有多少个元素就好。

#include <cstdio>
#include <set>

using namespace std;

int n;
set<long long> se;

void Find(int x, int y, long long cur){
    long long getx = cur * 10 + x;
    long long gety = cur * 10 + y;
    if(getx && getx <= n){
        se.insert(getx);
        Find(x, y, getx);
    }
    if(gety <= n){
        se.insert(gety);
        Find(x, y, gety);
    }
}

int main()
{
    while(scanf("%d", &n) == 1){
        se.clear();
        for(int x = 0; x < 9; x++)
            for(int y = x + 1; y <= 9; y++)
                Find(x, y, 0);
        printf("%d\n", se.size());
    }
    return 0;
}


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值