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

K好数 C语言 蓝桥杯算法提升ALGO3 一个自然数N的K进制表示中任意的相邻的两位都不是相邻的数字

问题描述

如果一个自然数N的K进制表示中任意的相邻的两位都不是相邻的数字,那么我们就说这个数是K好数。求L位K进制数中K好数的数目。例如K = 4,L = 2的时候,所有K好数为11、13、20、22、30、31、33 共7个。由于这个数目很大,请你输出它对1000000007取模后的值。

输入格式

输入包含两个正整数,K和L。

输出格式

输出一个整数,表示答案对1000000007取模后的值。

思路

解决这道题需要明确以下几点:

1. 相邻的两位不相邻, 那就是两位相减不为 1 。例如一个四进制数,第一位是 2, 那么第二位不能是 1 或 3 ,可以是 0 或 2 ,四好数就是所有以1、2、3开头的,每个相邻位的数字之差不是 1 的数。

2. 三位 K 好数是在 两位 K 好数的基础上得到的(这里体会一下动态规划的特点,依据子问题求解原问题)。如以 1 开头的三位 K 好数就是不以 0 或 2 开头的两位 K 好数的和。

现在定义一个二维数组, i 表示位数, j 表示进制,注意循环的时候 i 是从 1 到 l ,然后我们对二维数组中的每一个位置赋值,数组中每个数表示的是以 i 开头的 j 进制好数有几个。

当位数为 1 时,都只有一种(这里我也不太理解),即 nums[1][j] = 1 ;

对于其他情况,我们把上一行中不和当前 j 相差 1 的nums[i-1][j]加起来。

最后我们要把最后一行从第二列开始相加,得到的就是K好数的个数(以四进制为例,因为0不能做开头,所以是把以1、2、3开头的情况加起来)。注意每一次加完都要模除,要不然提交之后会错一半。

满分代码

#include <stdio.h>int main(void){int k,l;    //k进制,l位 scanf("%d %d",&k,&l);int i,j;int nums[120][120];for(i = 1; i <= l; i++) {for(j = 0; j < k; j++){if(i == 1)nums[i][j] = 1;		else{int z;for(z = 0; z < k; z++){if((z - j) != 1 && (j - z) != 1){nums[i][j] += nums[i-1][z];	nums[i][j] %= 1000000007; }						}}}}int result=0;for(j = 1; j < k; j++){result += nums[l][j];result %= 1000000007;}printf("%d",result);return 0;
}

 

相关文章:

K好数 C语言 蓝桥杯算法提升ALGO3 一个自然数N的K进制表示中任意的相邻的两位都不是相邻的数字

问题描述 如果一个自然数N的K进制表示中任意的相邻的两位都不是相邻的数字&#xff0c;那么我们就说这个数是K好数。求L位K进制数中K好数的数目。例如K 4&#xff0c;L 2的时候&#xff0c;所有K好数为11、13、20、22、30、31、33 共7个。由于这个数目很大&#xff0c;请你输…...

2195. 深海机器人问题(网络流,费用流,上下界可行流,网格图模型)

活动 - AcWing 深海资源考察探险队的潜艇将到达深海的海底进行科学考察。 潜艇内有多个深海机器人。 潜艇到达深海海底后&#xff0c;深海机器人将离开潜艇向预定目标移动。 深海机器人在移动中还必须沿途采集海底生物标本。 沿途生物标本由最先遇到它的深海机器人完成采…...

Vue/cli项目全局css使用

第一步&#xff1a;创建css文件 在合适的位置创建好css文件&#xff0c;文件可以是sass/less/stylus...第二步&#xff1a;响预处理器loader传递选项 //摘自官网&#xff0c;引入样式 // vue.config.js module.exports {css: {loaderOptions: {// 给 sass-loader 传递选项sa…...

【自然语言处理】【大模型】BitNet:用1-bit Transformer训练LLM

BitNet&#xff1a;用1-bit Transformer训练LLM 《BitNet: Scaling 1-bit Transformers for Large Language Models》 论文地址&#xff1a;https://arxiv.org/pdf/2310.11453.pdf 相关博客 【自然语言处理】【大模型】BitNet&#xff1a;用1-bit Transformer训练LLM 【自然语言…...

安装及管理docker

文章目录 1.Docker介绍2.Docker安装3.免sudo设置4. 使用docker命令5.Images6.运行docker容器7. 管理docker容器8.创建image9.Push Image 1.Docker介绍 Docker 是一个简化在容器中管理应用程序进程的应用程序。容器让你在资源隔离的进程中运行你的应用程序。类似于虚拟机&#…...

【MySQL】表的增删改查——MySQL基本查询、数据库表的创建、表的读取、表的更新、表的删除

文章目录 MySQL表的增删查改1. Create&#xff08;创建&#xff09;1.1 单行插入1.2 多行插入1.3 替换 2. Retrieve&#xff08;读取&#xff09;2.1 select查看2.2 where条件2.3 结果排序2.4 筛选分页结果 3. Update&#xff08;更新&#xff09;3.1 更新单个数据3.2 更新多个…...

C/C++蓝桥杯之日期问题

问题描述&#xff1a;小明正在整理一批文献&#xff0c;这些文献中出现了很多日期&#xff0c;小明知道这些日期都在1960年1月1日至2059年12月31日之间&#xff0c;令小明头疼的是&#xff0c;这些日期采用的格式非常不统一&#xff0c;有采用年/月/日的&#xff0c;有采用月/日…...

【理解指针(二)】

文章目录 一、指针的运算&#xff08;1&#xff09;指针加整数&#xff08;2&#xff09;指针减指针&#xff08;指针关系运算&#xff09; 二、野指针&#xff08;1&#xff09;野指针的成因&#xff08;1.1&#xff09;指针未初始化&#xff08;1.2&#xff09;指针的越界访问…...

使用AI纠正文章

我写了一段关于哲学自学的读书笔记&#xff0c;处于好奇的目的&#xff0c;让AI帮我纠正语法和逻辑。我的原文如下&#xff1a; 泰勒斯第一次提出了水是万物本源的说法&#xff0c;对于泰勒斯为什么提出这样的观点&#xff0c;或者是这样的观点是怎么来的&#xff0c;我们无从所…...

拼多多API批量获取商品详情信息

随着电子商务的蓬勃发展&#xff0c;淘宝作为中国最大的在线购物平台之一&#xff0c;每天需要处理海量的商品上架和交易。为了提高工作效率&#xff0c;自动化上架商品和批量获取商品详情信息成为了许多商家和开发者的迫切需求。本文将详细介绍淘宝的API接口及其相关技术&…...

杨辉三角(C语言)

杨辉三角 一.什么是杨辉三角 一.什么是杨辉三角 每个数等于它上方两数之和。 每行数字左右对称&#xff0c;由1开始逐渐变大。 第n行的数字有n项。 前n行共[(1n)n]/2 个数。 … 当前行的数上一行的数上一行的前一列的数 void yanghuisanjian(int arr[][20], int n) {for (int i…...

宏任务与微任务:JavaScript异步编程的秘密

&#x1f90d; 前端开发工程师、技术日更博主、已过CET6 &#x1f368; 阿珊和她的猫_CSDN博客专家、23年度博客之星前端领域TOP1 &#x1f560; 牛客高级专题作者、打造专栏《前端面试必备》 、《2024面试高频手撕题》 &#x1f35a; 蓝桥云课签约作者、上架课程《Vue.js 和 E…...

vant van-field 密码输入框小程序里隐藏、显示密码bug总结

老规矩先上效果图: vant 输入框组件 密码的隐藏与显示功能&#xff1a; 注: 用password属性控制密码的显示与隐藏 不要用type属性&#xff0c;type属性在真机上有时会没有效果 1、当然如果只用typepassword 不需要切换显示、隐藏也可以使用。 2、如果用到了密码的显示与…...

代理ip应用场景

代理IP是一种网络技术&#xff0c;它允许用户通过中间来访问互联网资源&#xff0c;隐藏真实的IP地址代理IP的应用场景非常泛&#xff0c;以下是一些常见的应用场景&#xff1a; 1 隐私保护&#xff1a;使用代理IP可以隐藏用户的真实IP地址&#xff0c;保护个人隐私。在浏览网…...

C/C++指针详解

接下来我们来介绍一下什么是指针&#xff1f; 指针其实就是元素存放地址&#xff0c;更加形象的比喻&#xff1a;在酒店中如果你想要去注必须去付费不然不能住&#xff0c;在计算机也同样如此&#xff08;但是不需要付费哦&#xff09;每当我们使用一个变量或其他需要申请空间…...

实验一:华为VRP系统的基本操作

1.1实验介绍 1.1.1关于本实验 本实验通过配置华为设备&#xff0c;了解并熟悉华为VRP系统的基本操作 1.1.2实验目的 理解命令行视图的含义以及进入离开命令行视图的方法 掌握一些常见的命令 掌握命令行在线帮助的方法 掌握如何撤销命令 掌握如何使用命令快捷键 1.1.3实验组网 …...

ChatGPT发不出消息?GPT发不出消息怎么办?

前言 今天发现&#xff0c;很多人的ChatGPT无法发送信息&#xff0c;我就登陆看一下自己的GPT的情况&#xff0c;结果还真的无法发送消息&#xff0c;ChatGPT 无法发送消息&#xff0c;但是能查看历史的对话&#xff0c;不过通过下面的方法解决了。 第一时间先打开官方的网站&a…...

【论文笔记】Language Models are Few-Shot Learners

Language Models are Few-Shot Learners 回顾一下第一代 GPT-1 &#xff1a; 设计思路是 “海量无标记文本进行无监督预训练少量有标签文本有监督微调” 范式&#xff1b;模型架构是基于 Transformer 的叠加解码器&#xff08;掩码自注意力机制、残差、Layernorm&#xff09;&a…...

解决:Glide 在回调中再次加载图片报错

一、问题说明 Glide 加载图片时监听了回调&#xff0c;并在失败时再次加载其它图片后报错。 代码&#xff1a; Glide.with(mContext).load(imgTeacher).listener(new RequestListener<Drawable>() {Overridepublic boolean onLoadFailed(Nullable GlideException e, O…...

Java学习笔记之IDEA的安装与下载以及相关配置

1 IDEA概述 ​IDEA全称IntelliJ IDEA&#xff0c;是用于Java语言开发的集成环境&#xff0c;它是业界公认的目前用于Java程序开发最好的工具。 集成环境&#xff1a; ​把代码编写&#xff0c;编译&#xff0c;执行&#xff0c;调试等多种功能综合到一起的开发工具。 2 IDEA…...

零基础选AI认证的理性分析:如何通过“实战含量”和“案例质量”筛选证书

CAIE注册人工智能工程师&#xff08;简称CAIE认证&#xff0c;又称赛一认证&#xff09;&#xff0c;是聚焦人工智能领域的技能等级认证&#xff0c;由CAIE人工智能研究院颁发&#xff0c;旨在培养和评估具备理论基础与实战能力的复合型AI人才&#xff0c;核心使命是“连接AI时…...

6个Linux CPU调优实战技巧,第三个帮你解决CPU飙升

一、什么时候需要CPU调优&#xff1f;服务响应变慢&#xff0c;top看到CPU us或sy持续超过70%机器load average高于CPU核心数*2你怀疑某个进程占用了太多CPU&#xff0c;想限制它或给它提权虚拟化环境里%steal高&#xff0c;说明宿主机超售严重读完这篇你会&#xff1a;能判断C…...

迭代器管理化技术内部迭代器与外部迭代器

迭代器管理化技术&#xff1a;内部与外部迭代器的深度解析 在软件开发中&#xff0c;迭代器是遍历数据集合的重要工具&#xff0c;而迭代器管理化技术进一步优化了其使用方式。内部迭代器和外部迭代器是两种核心实现模式&#xff0c;前者由集合自身控制遍历逻辑&#xff0c;后…...

免费开源!3步解决显示器色彩偏差的完整指南

免费开源&#xff01;3步解决显示器色彩偏差的完整指南 【免费下载链接】novideo_srgb Calibrate monitors to sRGB or other color spaces on NVIDIA GPUs, based on EDID data or ICC profiles 项目地址: https://gitcode.com/gh_mirrors/no/novideo_srgb 你是否曾经为…...

20260414_分词器

token是LLM的基本输入单位&#xff0c;由分词器根据统计规则把文本拆成的子词、字符或字节&#xff0c;再映射成数字ID。可拆分成四步&#xff1a; 准备语料初始化基础单元&#xff08;可省略&#xff09;统计并迭代合并输出产物并用于编码、解码 训练分词器 准备语料 应收集覆…...

pyspark 新接口 DataSource V2 写法 写入paimon为例

5种写入动作spark新接口 DataSource V2:介绍: df.writeTo(...) 返回的是 DataFrameWriterV2&#xff0c;是 Spark 3.x 引入的 DataSource V2 写接口&#xff0c;与旧的 df.write (DataFrameWriter V1) 是两套完全不同的 API案例:df.writeTo("paimon.bi_dwd.tb1") \.u…...

LangChain4j实战:手把手教你用Tools工具解决大模型“幻觉”,让AI准确获取当前日期和实时数据

LangChain4j实战&#xff1a;用Tools工具消除大模型“幻觉”&#xff0c;实现精准数据获取 最近在开发一个需要集成大语言模型的Java应用时&#xff0c;遇到了一个棘手的问题&#xff1a;当用户询问"今天几号"或"某股票最新价格"时&#xff0c;模型给出的答…...

无刷电机参数智能转换工具:兼容PMSM与BLDC,支持磁链/反电势计算及FOC开发辅助

温馨提示&#xff1a;文末有联系方式一、多类型电机兼容的参数转换解决方案 本工具专为现代驱动系统设计&#xff0c;原生支持永磁同步电机&#xff08;PMSM&#xff09;、直流无刷电机&#xff08;BLDC&#xff09;等多种主流无刷电机类型&#xff0c;满足不同拓扑结构与控制策…...

【数据爬取】国家知识产权局专利统计数据的自动化收集与整理(request+lxml+selenium实战)

1. 为什么需要自动化收集专利数据 做数据分析的朋友们应该都深有体会&#xff0c;最头疼的不是写代码分析数据&#xff0c;而是前期收集整理数据的过程。就拿专利数据来说&#xff0c;每次手动下载几十个Excel表格&#xff0c;再一个个整理合并&#xff0c;这种重复劳动不仅效率…...

赣州正规的高考班

赣州现代科技职业学校&#xff1a;高考班的那些事儿一、行业深度观察随着社会竞争的日益激烈&#xff0c;越来越多的学生和家长开始关注高考班。特别是在赣州这样的城市&#xff0c;优质的教育资源和专业的辅导机构备受追捧。然而&#xff0c;面对琳琅满目的选择&#xff0c;如…...