当前位置: 首页 > news >正文

【算法】枚举——蓝桥杯、日期统计、特殊日期(位数之和)、2023、特殊日期(倍数)、跑步锻炼

文章目录

  • 蓝桥杯
    • 日期统计
    • 特殊日期(位数之和)
    • 2023
    • 特殊日期(倍数)
    • 跑步锻炼

蓝桥杯

日期统计

日期统计

在这里插入图片描述

  如果暴力枚举100个数的八次循环那就是1016次运算,时间复杂度太高了,好在前四次的2023是确定的,所以我们优化一下,前四次循环不等于2023的就直接进入下一个循环,现在只需要108次运算了,注意有不少日子是重复的,所以还需要我们使用set去重一下。

  也可以不使用set,我们之间对2023年的365天遍历,如果数组中有满足2023年日期范围的数我们直接++,这样不仅减少了循环的次数(一共需要大概365*100=36500次循环),也避免了去重。

#include<bits/stdc++.h>
using namespace std;#if 0
int main()
{int arr[100] = {5, 6, 8, 6, 9, 1, 6, 1, 2, 4, 9, 1, 9, 8, 2, 3, 6, 4, 7, 7,5, 9, 5, 0, 3, 8, 7, 5, 8, 1, 5, 8, 6, 1, 8, 3, 0, 3, 7, 9,2, 7, 0, 5, 8, 8, 5, 7, 0, 9, 9, 1, 9, 4, 4, 6, 8, 6, 3, 3,8, 5, 1, 6, 3, 4, 6, 7, 0, 7, 8, 2, 7, 6, 8, 9, 5, 6, 5, 6,1, 4, 0, 1, 0, 0, 9, 4, 8, 0, 9, 1, 2, 8, 5, 0, 2, 5, 3, 3};int months[13] = {0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};set<int> ret;for(int i=0;i<100;i++){if(arr[i]!=2) continue;for(int j=i+1;j<100;j++){if(arr[j]!=0) continue;for(int k=j+1;k<100;k++){if(arr[k]!=2) continue;for(int l=k+1;l<100;l++){if(arr[l]!=3) continue;for(int a=l+1;a<100;a++){for(int b=a+1;b<100;b++){for(int c=b+1;c<100;c++){for(int d=c+1;d<100;d++){int date=arr[a]*1000+arr[b]*100+arr[c]*10+arr[d];int month=arr[a]*10+arr[b];int day=arr[c]*10+arr[d];if(month>=1&&month<=12&&day>=1&&day<=months[month]){ret.insert(date);//cout<<date<<endl;}}}}}}}}}cout<<ret.size()<<endl;return 0;
}
#endif #if 1
int main() 
{int arr[100] = {5, 6, 8, 6, 9, 1, 6, 1, 2, 4, 9, 1, 9, 8, 2, 3, 6, 4, 7, 7,5, 9, 5, 0, 3, 8, 7, 5, 8, 1, 5, 8, 6, 1, 8, 3, 0, 3, 7, 9,2, 7, 0, 5, 8, 8, 5, 7, 0, 9, 9, 1, 9, 4, 4, 6, 8, 6, 3, 3,8, 5, 1, 6, 3, 4, 6, 7, 0, 7, 8, 2, 7, 6, 8, 9, 5, 6, 5, 6,1, 4, 0, 1, 0, 0, 9, 4, 8, 0, 9, 1, 2, 8, 5, 0, 2, 5, 3, 3};int months[13] = {0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};int ret = 0;for (int month=1;month<=12;month++){for(int day=1;day<months[12];day++){int target[8]={2,0,2,3,month/10,month%10,day/10,day%10};int count=0;for(int i=0;i<100;i++){if(arr[i]==target[count]){count++;}if(count==8){ret++;break;}}}}cout<<ret<<endl;return 0;
}
#endif 

  

特殊日期(位数之和)

特殊日期

在这里插入图片描述
  我们根据题意直接暴力即可,注意一下闰年的判断year%400==0||(year%4==0&&year%100!=0) 继续将年份的数字之和和月份天数的日子和做比较。

#include<bits/stdc++.h>
using namespace std;int months[13]={0,31,28,31,30,31,30,31,31,30,31,30,31};void is_gap_month(int year,int month)
{if(month==2&&year%400==0||(year%4==0&&year%100!=0))months[2]=29;else months[2]=28;
}int is_target(int year,int month,int day)
{int sum1=0,sum2=0;while(year){int cnt=year%10;sum1+=cnt;year/=10;}sum2=month/10+month%10+day/10+day%10;return sum1==sum2?1:0;
}int main()
{int ret=0;for(int year=1900;year<=9999;year++){for(int month=1;month<=12;month++){is_gap_month(year,month);for(int day=1;day<=months[month];day++){if(is_target(year,month,day)){ret++;}}}}cout<<ret<<endl;return 0;
}

  

2023

2023

在这里插入图片描述
  将每一个数从后向前依次取下末尾的数字,依次和3 2 0 2进行比较,如果这个数中完全包含2023,ret++。最后将所有的数减去完全包含的数,剩下的就是完全不包含的数,注意这里 98765432 - 12345678 之后还要加一。

#include <iostream>
using namespace std;int is_target(int n)
{while (n){int tmp1 = n % 10;n /= 10;if (tmp1 == 3){while (n){int tmp2 = n % 10;n /= 10;if (tmp2 == 2){while (n){int tmp3 = n % 10;n /= 10;if (tmp3 == 0){while (n){int tmp4 = n % 10;n /= 10;if(tmp4 == 2)return 1;}}}}}}}return 0;
}int main()
{int ret = 0;for (int i = 12345678; i <= 98765432; i++){if (is_target(i)){//cout<<i<<endl;ret++;}}cout << 98765432 - 12345678 - ret+1;//cout<<"85959030";return 0;
}

  

特殊日期(倍数)

特殊日期
在这里插入图片描述

#include <iostream>
using namespace std;int main()
{int ret=0;int months[13]={0,31,28,31,30,31,30,31,31,30,31,30,31};for(int year=2000;year<=2000000;year++){for(int month=1;month<=12;month++){if(year%month==0){if(month==2&&(year%400==0||(year%4==0&&year%100!=0))){months[2]=29;}else{months[2]=28;}for(int day=1;day<=months[month];day++){if(year%day==0){ret++;}if(year==2000000&&month==1&&day==1){cout<<ret<<endl;}}}}}//cout<<"35813063"<<endl;return 0;
}

  

跑步锻炼

跑步锻炼

在这里插入图片描述

#include <iostream>
using namespace std;int is_gap_year(int n)
{if((n%400==0)||(n%4==0&&n%100!=0))return 1;else return 0;
}int main()
{int ret=0;int months[13]={0,31,28,31,30,31,30,31,31,30,31,30,31};int year=0,month=0,day=0;int week=6;for(int i=2000;i<=2020;i++){for(int j=1;j<=12;j++){if(j==2&&is_gap_year(i)) months[2]=29;else months[2]=28;for(int k=1;k<=months[j];k++){if(week==8){ week=1;}if(week==1||k==1) {ret+=2;}else{ ret+=1;}week++;if(i==2020&&j==10&&k==1)cout<<ret;}}}return 0;
}

相关文章:

【算法】枚举——蓝桥杯、日期统计、特殊日期(位数之和)、2023、特殊日期(倍数)、跑步锻炼

文章目录 蓝桥杯日期统计特殊日期&#xff08;位数之和&#xff09;2023特殊日期&#xff08;倍数&#xff09;跑步锻炼 蓝桥杯 日期统计 日期统计 如果暴力枚举100个数的八次循环那就是1016次运算&#xff0c;时间复杂度太高了&#xff0c;好在前四次的2023是确定的&#xf…...

基于flask的个人博客项目从0到1

项目展示(持续完善中…) 首页 文章时间线页面 笔记页面 留言页面 关于页面 后台页面-文章管理 后台页面-笔记页面 后台页面-分类 后台管理-新增标签 后台管理-标签页面 后台管理-新增标签 后台管理-关于页面 2.项目详述 该博客开源地址点击跳转&#xff0c;该项目已部署上…...

基于OpenCV灰度图像转GCode的单向扫描实现

基于OpenCV灰度图像转GCode的单向扫描实现 引言单向扫描存在的问题灰度图像单向扫描代码示例结论 系列文章 ⭐深入理解G0和G1指令&#xff1a;C中的实现与激光雕刻应用⭐基于二值化图像转GCode的单向扫描实现⭐基于二值化图像转GCode的双向扫描实现⭐基于二值化图像转GCode的…...

JAVA生成Word文档

第一步&#xff1a;导入依赖 <!--生成word文档--> <dependency><groupId>com.deepoove</groupId><artifactId>poi-tl</artifactId><version>1.10.3</version> </dependency> <!--数字转为汉字大写--> <depend…...

python将.db数据库文件转成Excel文档

python实现.db数据库转Excel 程序实现 上一篇文章程序实现以下功能&#xff1a; 1.读取一个Excel文件,文件名通过函数传参数传入 2.将文件读取的内容保存到一个数据库文件中 3.数据库的文件名以传入的Excel文件的文件名命名 4.将excel文件的工作簿的名字作为数据库的表单名 5…...

[opencvsharp]C#基于Fast算法实现角点检测

角点检测算法有很多&#xff0c;比如Harris角点检测、Shi-Tomas算法、sift算法、SURF算法、ORB算法、BRIEF算法、Fast算法等&#xff0c;今天我们使用C#的opencvsharp库实现Fast角点检测 【算法介绍】 fast算法 Fast(全称Features from accelerated segment test)是一种用于角…...

群晖NAS开启FTP服务结合内网穿透实现公网远程访问本地服务

⛳️ 推荐 前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到网站。 文章目录 ⛳️ 推荐1. 群晖安装Cpolar2. 创建FTP公网地址3. 开启群晖FTP服务4. 群晖FTP远程连接5. 固定FTP公网地址6. 固定FTP…...

ReactNative实现弧形拖动条

我们直接看效果 先看下面的使用代码 <CircularSlider5step{2}min{0}max{100}radius{100}value{30}onComplete{(changeValue: number) > this.handleEmailSbp(changeValue)}onChange{(changeValue: number) > this.handleEmailDpd(changeValue)}contentContainerStyle{…...

STM32F407移植OpenHarmony笔记9

继上一篇笔记&#xff0c;已经完成liteos内核的基本功能适配。 今天尝试启动OHOS和XTS兼容性测试。 如何启动OHOS&#xff1f; OHOS系统初始化接口是OHOS_SystemInit(void)&#xff0c;在内核初始化完成后&#xff0c;就能调用。 extern void OHOS_SystemInit(void); OHOS_Sys…...

telnet笔记

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 前言一、场景二、介绍1.测试端口2.访问百度3. 简单的爬虫 前言 最近telnet命令用的比较多&#xff0c;所以记录一下。 一、场景 ping应该是大家最常用的命令&…...

【考研408】操作系统笔记

文章目录 [toc] 计算机系统概述操作系统的基本概念操作系统的概念和特征操作系统的目标和功能&#xff08;**处理器管理、存储器管理、设备管理、文件管理、向用户提供接口、扩充机器**&#xff09; 操作系统的发展与分类操作系统的运行环境操作系统的运行机制 操作系统的体系结…...

从0开始搭建、上传npm包

从0开始搭建、上传npm包 1、上传一个简单获取水果价格的包创建 vite 项目在项目根目录 src 文件夹中创建 index.ts 文件&#xff0c;文件内容如下&#xff1a;在 main.ts 文件中导入、导出上面创建的方法创建 vite.config.ts 配置文件&#xff0c;文件内容如下配置 package.jso…...

【Go】在 JSON 中解析 time.Duration

当解析 JSON 时&#xff0c;使用time.Duration可能是一个繁琐的过程&#xff0c;因为它需要在一秒的后面添加 9 个零&#xff08;即 1000000000&#xff09;。为了简化这个过程&#xff0c;我创建了一个名为 Duration 的新类型&#xff1a; type Duration time.Duration为了将…...

UE4 C++ UGameInstance实例化

1.创建GameInstance C类 2.在.h添加变量 class 工程名称_API UMyGameInstance : public UGameInstance {GENERATED_BODY()public: //定义了三个公开的变量UMyGameInstance();UPROPERTY(EditAnywhere, BlueprintReadWrite, Category "MyGameInstance")FString Name…...

在工业制造方面,如何更好地实现数字化转型?

实现工业制造的数字化转型涉及利用数字技术来增强流程、提高效率并推动创新。以下是工业制造领域更好实现数字化转型的几个关键步骤&#xff1a; 1.定义明确的目标&#xff1a; 清楚地概述您的数字化转型目标。确定需要改进的领域&#xff0c;例如运营效率、产品质量或供应链…...

【MySQL】-10 MySQL 存储过程

MySQL 存储过程 优点缺点一、存储过程的创建和调用创建存储过程实例1、in 输入参数2、out输出参数3、inout输入参数 三、变量1. 变量定义2. 变量赋值3. 用户变量 四、注释MySQL存储过程的调用MySQL存储过程的查询MySQL存储过程的修改MySQL存储过程的删除MySQL存储过程的控制语句…...

3.闭包 - JS

作用域 一般认为 JS 中作用域有三种&#xff1a; 全局作用域&#xff1a;一个脚本运行代码的默认作用域&#xff1b;模块作用域&#xff1a;一个模块运行代码的默认作用域&#xff1b;函数作用域&#xff1a;一个函数运行代码的默认作用域。 而由于 let/const 声明变量的作用…...

Java实现批量视频抽帧2.0

继上个版本 对其进行略微升级 &#x1f913; 上个版本仅对一个视频进行抽帧处理 此版本可对一个文件夹内的全部视频进行抽帧并对应的文件夹进行帧图片的保存 1️⃣配置pom.xml &#xff08;保持上次不变&#xff09; <dependencies><dependency><grou…...

MFC 原生LsitCtrl单元格嵌入图标

// ListItemInsertIconDlg.h: 头文件 //#pragma once// CListItemInsertIconDlg 对话框 class CListItemInsertIconDlg : public CDialogEx { // 构造 public:CListItemInsertIconDlg(CWnd* pParent nullptr); // 标准构造函数// 对话框数据 #ifdef AFX_DESIGN_TIMEenum { IDD…...

黑马头条 - minio

我是南城余&#xff01;阿里云开发者平台专家博士证书获得者&#xff01; 欢迎关注我的博客&#xff01;一同成长&#xff01; 一名从事运维开发的worker&#xff0c;记录分享学习。 专注于AI&#xff0c;运维开发&#xff0c;windows Linux 系统领域的分享&#xff01; 知…...

音频频谱分析终极指南:Spek快速上手与深度应用全解析

音频频谱分析终极指南&#xff1a;Spek快速上手与深度应用全解析 【免费下载链接】spek Acoustic spectrum analyser 项目地址: https://gitcode.com/gh_mirrors/sp/spek Spek是一款功能强大的开源音频频谱分析工具&#xff0c;能够将音频文件的频率特性以彩色频谱图直观…...

微信小程序框架详解

小程序包含一个描述整体程序的app实例和多个描述页面的page。其中app由三个文件构成:公共配置app.json、公共样式app.wxss、主体逻辑app.js。每个page最多由四个文件构成:页面配置page.json、页面结构page.wxml、页面样式page.wxss、页面主体逻辑page.js。 微信小程序的主体部…...

如何快速掌握GBFR Logs:终极《碧蓝幻想:Relink》战斗数据监控指南

如何快速掌握GBFR Logs&#xff1a;终极《碧蓝幻想&#xff1a;Relink》战斗数据监控指南 【免费下载链接】gbfr-logs GBFR Logs lets you track damage statistics with a nice overlay DPS meter for Granblue Fantasy: Relink. 项目地址: https://gitcode.com/gh_mirrors/…...

Qwen3.5-9B-AWQ-4bit多场景应用:法律合同截图关键条款提取+风险提示生成

Qwen3.5-9B-AWQ-4bit多场景应用&#xff1a;法律合同截图关键条款提取风险提示生成 1. 法律合同处理的痛点与解决方案 在法律实务工作中&#xff0c;合同审查是一项高频且重要的工作。传统方式下&#xff0c;律师需要&#xff1a; 逐页阅读纸质或电子版合同手动标记关键条款…...

良心推荐!阿贝云免费云服务器,新手小白也能轻松上手

最近在折腾个人网站&#xff0c;想找个免费的云服务器练练手&#xff0c;试了好几家都不太满意。后来朋友推荐了阿贝云&#xff0c;体验下来感觉真的不错。 首先&#xff0c;阿贝云的免费云服务器配置很实在&#xff1a;1核CPU、1GB内存、5M带宽&#xff0c;还带独立公网IP。对…...

Qwen3-14B API服务压测报告:QPS 23+,P99延迟<1.2s高并发表现

Qwen3-14B API服务压测报告&#xff1a;QPS 23&#xff0c;P99延迟<1.2s高并发表现 1. 测试环境与配置 1.1 硬件配置 本次压测采用专门优化的Qwen3-14B私有部署镜像&#xff0c;运行在以下硬件环境&#xff1a; GPU&#xff1a;RTX 4090D 24GB显存&#xff08;与镜像完美…...

深入解析DolphinScheduler API调用:从文档到实战

1. DolphinScheduler API调用入门指南 第一次接触DolphinScheduler的API时&#xff0c;我也是一头雾水。官方文档虽然全面&#xff0c;但对于新手来说信息量太大&#xff0c;不知道从哪里入手。经过几个项目的实战&#xff0c;我总结出了一套快速上手的方法。 DolphinScheduler…...

人脸分析系统快速上手教程:一键部署智能人脸检测工具

人脸分析系统快速上手教程&#xff1a;一键部署智能人脸检测工具 1. 系统介绍与核心功能 1.1 什么是人脸分析系统 人脸分析系统&#xff08;Face Analysis WebUI&#xff09;是一个基于InsightFace框架的智能人脸检测与分析工具。它能够自动识别图片中的人脸&#xff0c;并提…...

FireRedASR Pro优化指南:如何提升长音频识别效率

FireRedASR Pro优化指南&#xff1a;如何提升长音频识别效率 1. 长音频识别的核心挑战 语音识别系统在处理长音频时面临几个关键瓶颈问题&#xff1a; 内存压力&#xff1a;随着音频时长增加&#xff0c;需要缓存的中间状态呈指数级增长计算复杂度&#xff1a;注意力机制的时…...

AgentCPM深度研报助手使用技巧:三个参数让报告更专业

AgentCPM深度研报助手使用技巧&#xff1a;三个参数让报告更专业 1. 为什么你的AI研报总像“流水账”&#xff1f;问题可能出在参数上 你用过AI写报告&#xff0c;结果是不是这样&#xff1a;内容看起来都对&#xff0c;但读起来总觉得“差点意思”&#xff1f;结构松散像拼凑…...