首页 > 其他分享 >AT4276 题解

AT4276 题解

时间:2022-08-25 00:14:59浏览次数:49  
标签:题解 AT4276 long bool include 七五

小学生又来写题解啦!

容易想到,范围内七五三数不会很多,因此尝试暴力搜索,即深搜

参数除了当前的数外,还有三个布尔类型的变量分别表示三、五、七有无出现。

每次都判断是否为七五三数即可,超出范围才跳出。

对了,还有一个魔鬼细节,在代码中会提到。

满分代码:

#include <iostream>
#include <cstdio>
using namespace std;
int cnt, n;
void dfs(long long x, bool use3, bool use5, bool use7)
//魔鬼细节来啦!
//看到上面的 long long 没有?
{
	if (x > n) return; 
	if (x <= n && use3 && use5 && use7) cnt++;  //判断一下,注意此时不用跳出。 
	dfs(x * 10 + 3, true, use5, use7); //补个 3。 
	dfs(x * 10 + 5, use3, true, use7); //补个 5。 
	dfs(x * 10 + 7, use3, use5, true); //补个 7。 
}
int main()
{
	scanf("%d", &n);
	dfs(0, false, false, false);
	printf("%d", cnt);
	return 0;
}

首发:2022-01-28 14:38:54

标签:题解,AT4276,long,bool,include,七五
From: https://www.cnblogs.com/liangbowen/p/16622753.html

相关文章

  • P8080 题解
    题目传送门小学生又来写题解啦!你可能会认为,能够使用杯座人数的最大值,就是杯座数量。但结合样例一,若杯座数量大于总人数,只能输出总人数。下一个问题是如何计算杯座数量......
  • SP1163 题解
    题目传送门小学生又来写题解啦!本题显然是字符串模拟,认真维护好每个要求即可。首先先判断是情况一还是情况二,如果同时出现,输出报错信息。我们可以用一个函数实现上述功......
  • CF483A 题解
    题目传送门小学生又来写题解啦!刚看到范围,觉得不能枚举。仔细想一下,其实可以,因为第一组解应该离左边界较近,很快可以出答案。所以,我们可以尝试暴力枚举。最大公约数就用......
  • AT278 题解
    题目传送门小学生又双叒叕来写题解啦!我的思路是,先统计招牌与材料包中不同字母的数量。然后,枚举二十六个字母。对于每个字母,用招牌字母数除以材料包字母数,再向上取整。......
  • AT212 题解
    题目传送门小学生又双叒叕来写题解啦!翻了一下大家的代码,都好长好复杂,其实直接模拟就好了。先说一个巨坑:发现坐标与我们平时不同,所以进行修改。写一个函数,函数作用为找......
  • AT1578 题解
    题目传送门小学生又双叒叕来写题解啦!个人认为这题就考你的理解能力,因此,得先把题读懂。寿司就是01或10字符的组合,减少拆开寿司的次数,本质上就是保留完整的寿司。因......
  • AT4864 题解
    题目传送门显然是贪心题。对于每张优惠券,我们应该给当前最大的物品使用。如果使用普通的数组,每次都找最大值太慢了。因此,我们使用传说神器:优先队列。其他题解都没有说......
  • AT2286 题解
    题目传送门小学生又双叒叕来写题解啦!这题要用到因数个数定理,没学过的童鞋自己了解一下。由于和质数有关,我使用质数筛法。我使用较快的欧拉筛法算质数(想学就做这题)。事......
  • [HNOI2004] L 语言 题解(AC 自动机上 dp)
    前言:原版数据超弱,爆搜就能过(即洛谷里面80分的数据),在此不多说,这里讲的是正解。(如果不是正解我还敢写题解吗)唔······话说洛谷里的题解用的都有状压,蒟蒻表示这题不......
  • 【TPC附加赛YSTG】星坠比赛题解
    零、写在前面比赛地址本人比较菜,在这场接近提高组的模拟赛中获得了\(30+100+30+50=210\)的烂分事实上只要把暴力打足成绩一般就不会差但后来本人在Z......