蓝桥杯每日一题2023.10.16

数的分解 - 蓝桥云课 (lanqiao.cn)

题目描述

题目分析

最开始想使用dfs,发现范围过大无法在规定时间运行

cpp 复制代码
#include<bits/stdc++.h>
using namespace std;
const int N = 2e5 + 10;
int a[N], v[N], ans;
void dfs(int dep, int sum, int start)
{
	if(sum > 2019)return;
	if(dep > 3)return;
	if(dep == 3)
	{
		int flag = 0;
		for(int i = 0; i < 3; i ++)
		{
			int x = a[i];
			//cout << x << ' ';
			while(x)
			{
				int y = x % 10;
				x /= 10;
				if(y == 2 || y == 4)flag = 1;
			}
		}
		if(!flag && sum == 2019)ans ++;
		//cout << '\n';
		return;
	}
	for(int i = start; i <= 2017; i ++)
	{
		a[dep] = i;
		dfs(dep + 1, sum + i, i + 1);
		a[dep] = 0;
	}
}
int main()
{
	dfs(0, 0, 1);
	cout << ans;
	return 0;
}

故直接简单枚举即可

cpp 复制代码
#include<bits/stdc++.h>
using namespace std;
int ans;
bool check(int n)
{
	while(n)
	{
		int y = n % 10;
		if(y == 2 || y == 4)return false;
		n /= 10;
	}
	return true;
}
int main()
{
	for(int i = 1; i <= 2019; i ++)
	{
		for(int j = i + 1; j <= 2019; j ++)
		{
			int k = 2019 - i - j;
			if(check(i) && check(j) && check(k))
			{
				if(j < k)ans ++;
			}
		}
	}
	cout << ans;
}
相关推荐
QD_ANJING14 分钟前
建议5月的Web前端开发都去飞书上准备面试...
前端·人工智能·面试·职场和发展·前端框架·状态模式·ai编程
小程故事多_8014 小时前
[大模型面试系列] 深度解析ReAct框架,大模型Agent的“思考+行动”底层逻辑
人工智能·react.js·面试·职场和发展·智能体
那我掉的头发算什么15 小时前
【面试八股】一篇文章讲清楚JVM面试常考
jvm·面试·职场和发展·java虚拟机
冬天vs不冷15 小时前
面试必知必会(13):MySQL锁机制
mysql·面试·职场和发展
华夏之光永存15 小时前
独家:国家级光刻机项目架构师面试对话实录
面试·职场和发展
KNeeg_15 小时前
黑马点评完整代码(RabbitMQ优化)+简历编写+面试重点 ⭐
java·redis·后端·spring·面试·职场和发展·黑马点评
FPGA小迷弟15 小时前
FPGA工程师常见面试问题,有参考答案,必学!!!
fpga开发·面试·职场和发展·verilog·fpga·modelsim
Java后端的Ai之路15 小时前
以为AI开发就是调接口?一场25K的面试让我看到真相,原来真正的技术深度在这!
人工智能·面试·职场和发展·agent·ai应用开发
会编程的土豆15 小时前
【数据结构与算法】空间复杂度从入门到面试:不仅会算,还要会解释
数据结构·c++·算法·面试·职场和发展
.NET修仙日记1 天前
2026 .NET 面试八股文:高频题 + 答案 + 原理(高级核心篇)
面试·职场和发展·c#·.net·.net core·.net 8