问题描述 如果一个自然数N的K进制表示中任意的相邻的两位都不是相邻的数字,那么我们就说这个数是K好数.求L位K进制数中K好数的数目.例如K = 4,L = 2的时候,所有K好数为11.13.20.22.30.31.33 共7个.由于这个数目很大,请你输出它对1000000007取模后的值. 输入格式 输入包含两个正整数,K和L. 输出格式 输出一个整数,表示答案对1000000007取模后的值. 样例输入 4 2 样例输出 7 数据规模与约定 对于30%的数据,KL <= 106: 对于50%的…
如果一个自然数N的K进制表示中任意的相邻的两位都不是相邻的数字,那么我们就说这个数是K好数.求L位K进制数中K好数的数目.例如K = 4,L = 2的时候,所有K好数为11.13.20.22.30.31.33 共7个.由于这个数目很大,请你输出它对1000000007取模后的值. 输入格式 输入包含两个正整数,K和L.+ 输出格式 输出一个整数,表示答案对1000000007取模后的值. 样例输入 4 2 样例输出 7 数据规模与约定 对于30%的数据,KL <= 106: 对于50%的数据,K…
越来越觉得自己菜,一道简单的动态规划写不出来,题解也是看了很多份才看懂了,所以尽量以图表的方式写了题解,希望我的题解能帮到其他人吧.(;´Д`) 首先是题目: 输入描述: 输入包含两个正整数,K和L. 输入样例: 4 2 输出描述: 输出一个整数,表示答案对1000000007取模后的值. 输出样例: 7 1.首先我们初始化一个L行K列的数组(题目输入为4 2,所以先以4进制为例子,位数不限制) 用于表示 在L位的情况下,最后一位为K的符合条件的数字的个数 2. 四进制的情况下每一位能取的值为0…
Description 如果一个自然数N的K进制表示中任意的相邻的两位都不是相邻的数字,那么我们就说这个数是K好数.求L位K进制数中K好数的数目.例如K = 4,L = 2的时候,所有K好数为11.13.20.22.30.31.33 共7个.由于这个数目很大,请你输出它对1000000007取模后的值. Input 输入包含两个正整数,K和L. Output 输出一个整数,表示答案对1000000007取模后的值. Sample Input 4 2   Sample Output 7   HIN…
标题: k倍区间 给定一个长度为N的数列,A1, A2, - AN,如果其中一段连续的子序列Ai, Ai+1, - Aj(i <= j)之和是K的倍数,我们就称这个区间[i, j]是K倍区间. 你能求出数列中总共有多少个K倍区间吗? 输入 第一行包含两个整数N和K.(1 <= N, K <= 100000) 以下N行每行包含一个整数Ai.(1 <= Ai <= 100000) 输出 输出一个整数,代表K倍区间的数目. 例如, 输入: 5 2 1 2 3 4 5 程序应该输出:…
http://lx.lanqiao.cn/problem.page?gpid=T444 问题描述 给定一个长度为N的数列,A1, A2, ... AN,如果其中一段连续的子序列Ai, Ai+1, ... Aj(i <= j)之和是K的倍数,我们就称这个区间[i, j]是K倍区间. 你能求出数列中总共有多少个K倍区间吗? 输入格式 第一行包含两个整数N和K.(1 <= N, K <= 100000) 以下N行每行包含一个整数Ai.(1 <= Ai <= 100000) 输出格式…
这是一道较难的题目,我刚开始用排列组合的方式来做,并没有做出来,故运用了的深搜算法. 深搜算法的概念: 选其中一条路,遍历完成后,逐步返回直至全部遍历,最后返回起点. 解题思路 : 题目中对零的个数没有要求,只是说不能有两个零相邻,所以可以用深搜找出这个数不同位置上有零 数的种类,最后在进行阶乘运算算出一共有多少数字. 代码如下: #include<stdio.h>#include<math.h>int N,K,sum;void dfs(int x,int step);//步数代表…
如下的10个格子  填入0~9的数字.要求:连续的两个数字不能相邻. (左右.上下.对角都算相邻) 一共有多少种可能的填数方案? 请填写表示方案数目的整数. 注意:你提交的应该是一个整数,不要填写任何多余的内容或说明性文字. 方法一:遍历 #include<iostream> #include<algorithm> #include<cstring> #include<cmath> using namespace std; ][]; ; int Abs(in…
如下的10个格子(参看[图1.jpg]) 填入0~9的数字.要求:连续的两个数字不能相邻.(左右.上下.对角都算相邻) 一共有多少种可能的填数方案? 请填写表示方案数目的整数.注意:你提交的应该是一个整数,不要填写任何多余的内容或说明性文字.   #include <iostream> #include <cmath> #include <fstream> #include <cstring> #include <cstdlib> #includ…
解法一(暴力获取): #include<stdio.h> #include<stdlib.h> int main(void) { int n; ; ; printf("输入整数n: "); scanf("%d", &n); ; i <= n; i++) { ; temp = temp / ) { == || temp % == || temp % == || temp % == ) { times++; num += i; br…
题目:五星填数 如[图1.png]的五星图案节点填上数字:1~12,除去7和11.要求每条直线上数字和相等.如图就是恰当的填法.请你利用计算机搜索所有可能的填法有多少种.注意:旋转或镜像后相同的算同一种填法. 请提交表示方案数目的整数,不要填写任何其它内容. 代码: #include<iostream>using namespace std;int data[10] = {1,2,3,4,5,6,8,9,10,12};int a[10];bool jud();int ways();int ma…
题目: 报纸页数X星球日报和我们地球的城市早报是一样的,都是一些单独的纸张叠在一起而已.每张纸印有4版.比如,某张报纸包含的4页是:5,6,11,12,可以确定它应该是最上边的第2张报纸.我们在太空中捡到了一张X星球的报纸,4个页码分别是:1125,1126,1727,1728请你计算这份报纸一共多少页(也就是最大页码,并不是用了几张纸哦)?请填写表示总页数的数字. 注意:你提交的应该是一个整数,不要填写任何多余的内容或说明性文字. 代码: #include<iostream> using n…
方块填数 "数独"是当下炙手可热的智力游戏.一般认为它的起源是"拉丁方块",是大数学家欧拉于1783年发明的. 如图[1.jpg]所示:6x6的小格被分为6个部分(图中用不同的颜色区分),每个部分含有6个小格(以下也称为分组). 开始的时候,某些小格中已经填写了字母(ABCDEF之一).需要在所有剩下的小格中补填字母. 全部填好后,必须满足如下约束: 所填字母只允许是A,B,C,D,E,F 中的某一个. 每行的6个小格中,所填写的字母不能重复. 每列的6个小格中,所…
五星填数 如[图1.png]的五星图案节点填上数字:1~12,除去7和11. 要求每条直线上数字和相等. 如图就是恰当的填法. 请你利用计算机搜索所有可能的填法有多少种. 注意:旋转或镜像后相同的算同一种填法. 请提交表示方案数目的整数,不要填写任何其它内容. 答案:12 public class Main { public static int count = 0; public void swap(int[] A, int i, int j) { int temp = A[i]; A[i]…
凑平方数 把0~9这10个数字,分成多个组,每个组恰好是一个平方数,这是能够办到的. 比如:0, 36, 5948721 再比如: 1098524736 1, 25, 6390784 0, 4, 289, 15376 等等- 注意,0可以作为独立的数字,但不能作为多位数字的开始. 分组时,必须用完所有的数字,不能重复,不能遗漏. 如果不计较小组内数据的先后顺序,请问有多少种不同的分组方案? 注意:需要提交的是一个整数,不要填写多余内容. 答案:300 import java.util.Array…
七星填数 如图[图1.png]所示. 在七角星的14个节点上填入1~14 的数字,不重复,不遗漏. 要求每条直线上的四个数字之和必须相等. 图中已经给出了3个数字. 请计算其它位置要填充的数字,答案唯一. 填好后,请提交绿色节点的4个数字(从左到右,用空格分开) 比如:12 5 4 8 当然,这不是正确的答案. 注意:只提交4个用空格分开的数字,不要填写任何多余的内容. 答案:10 3 9 8 import java.util.HashSet; public class Main { publi…
方格填数 题目描述 如下的10个格子 +--+--+--+ | | | | +--+--+--+--+ | | | | | +--+--+--+--+ | | | | +--+--+--+ (如果显示有问题,也可以参看[图1.jpg]) 填入0~9的数字.要求:连续的两个数字不能相邻. (左右.上下.对角都算相邻) 一共有多少种可能的填数方案? 请填写表示方案数目的整数. 注意:你提交的应该是一个整数,不要填写任何多余的内容或说明性文字. 结果:1580 public class Main {…
JAVA版K好数--蓝桥杯 历经千辛万苦,也算是研究出来了这道题了. 这道题主要运用了动态规划(Dynamic Planning)的思想,何谓动态规划?其实就是将一个大问题分成一个个小问题,然后先通过把各个小问题都解决,自然而然大问题也就解决了. 这道题它问L位K进制中,有多少K好数(任意相邻两位数字不相临) 我的理解: K进制的意思是它每一位的组成只能从(0~K-1)中选取,如果你想直接求L位长的K进制数有多少K好数,可能有些复杂,不如先求1位长,再通过1位长求2位长--以此类推,便可以通过累…
如果一个自然数N的K进制表示中任意的相邻的两位都不是相邻的数字,那么我们就说这个数是K好数.求L位K进制数中K好数的数目.例如K = 4,L = 2的时候,所有K好数为11.13.20.22.30.31.33 共7个.由于这个数目很大,请你输出它对1000000007取模后的值. 输入格式 输入包含两个正整数,K和L.+ 输出格式 输出一个整数,表示答案对1000000007取模后的值. 样例输入 4 2 样例输出 7 数据规模与约定 对于30%的数据,KL <= 106: 对于50%的数据,K…
887. 鸡蛋掉落 你将获得 K 个鸡蛋,并可以使用一栋从 1 到 N 共有 N 层楼的建筑. 每个蛋的功能都是一样的,如果一个蛋碎了,你就不能再把它掉下去. 你知道存在楼层 F ,满足 0 <= F <= N 任何从高于 F 的楼层落下的鸡蛋都会碎,从 F 楼层或比它低的楼层落下的鸡蛋都不会破. 每次移动,你可以取一个鸡蛋(如果你有完整的鸡蛋)并把它从任一楼层 X 扔下(满足 1 <= X <= N). 你的目标是确切地知道 F 的值是多少. 无论 F 的初始值如何,你确定 F…
目录 1 问题描述 2 解决方案   1 问题描述 问题描述 如果一个自然数N的K进制表示中任意的相邻的两位都不是相邻的数字,那么我们就说这个数是K好数.求L位K进制数中K好数的数目.例如K = 4,L = 2的时候,所有K好数为11.13.20.22.30.31.33 共7个.由于这个数目很大,请你输出它对1000000007取模后的值. 输入格式 输入包含两个正整数,K和L. 输出格式 输出一个整数,表示答案对1000000007取模后的值. 样例输入 4 2 样例输出 7 数据规模与约定…
package Main; import java.io.InputStream; import java.util.Scanner; public class Main { public static long constant = 1000000007; public static void main(String[] args) { Scanner in = new Scanner(System.in); long k = in.nextLong(); long l = in.nextLo…
问题描述 如果一个自然数N的K进制表示中任意的相邻的两位都不是相邻的数字,那么我们就说这个数是K好数.求L位K进制数中K好数的数目.例如K = 4,L = 2的时候,所有K好数为11.13.20.22.30.31.33 共7个.由于这个数目很大,请你输出它对1000000007取模后的值. 输入格式 输入包含两个正整数,K和L. 输出格式 输出一个整数,表示答案对1000000007取模后的值. 样例输入 4 2 样例输出 7 数据规模与约定 对于30%的数据,KL <= 106: 对于50%的…
算法训练 K好数 时间限制:1.0s 内存限制:256.0MB 提交此题 锦囊1 锦囊2 问题描述 如果一个自然数N的K进制表示中任意的相邻的两位都不是相邻的数字,那么我们就说这个数是K好数.求L位K进制数中K好数的数目.例如K = 4,L = 2的时候,所有K好数为11.13.20.22.30.31.33 共7个.由于这个数目很大,请你输出它对1000000007取模后的值. 输入格式 输入包含两个正整数,K和L. 输出格式 输出一个整数,表示答案对1000000007取模后的值. 样例输入…
第三届蓝桥杯真题 c/c++ 以下题目我自己也并不是所有的题目都是一次性就能做对或是有结题思路的.有些题目也是经过查证网上相关的资料或是参考了别人的代码和解题思路才做出来的.总的来看,这份题目考了很多循环的只是,还有模拟,动态规划的只是. 其中做题过程中,也有了一些新的体会.起初做代码填空题的时候我没办法知道自己做的是对还是错,就跑到网上查答案,后来发现,题目已经给出了代码,起始我们可以自己加上头文件,然后把空缺的代码加上进行调试的,这样就可以验证自己补充的代码是否正确了. 此外在进行调试的时候…
第六届蓝桥杯软件类省赛题解C++/Java 1[C++].统计不含4的数字统计10000至99999中,不包含4的数值个数.答:暴力循环范围内所有数字判断一下就是了,答案是52488 1[Java].三角形面积图中的所有小方格面积都是1. 那么,图中的三角形面积应该是多少呢?答:小学生题目吧,算一下就行了,略. 2[C++].计算1千天后的日期2014-11-09再过1000天是哪一日?答:用Excel算,用代码注意一下细节,答案2017-08-05. 2[Java].立方变自身观察下面的现象,…
第一题 标题:第几天 2000年的1月1日,是那一年的第1天. 那么,2000年的5月4日,是那一年的第几天? 注意:需要提交的是一个整数,不要填写任何多余内容. 解题思路: 1.  判断2月有几天,然后天数相加. 2.  判断2月有几天,然后天数相加. 直接算或者借助Excel表 ,2000年1月1日再加124天=2000年5月4日,所以是第125天. 答案:125 第二题 标题:明码 汉字的字形存在于字库中,即便在今天,16点阵的字库也仍然使用广泛. 16点阵的字库把每个汉字看成是16x16…
问题描述 小明的花店新开张,为了吸引顾客,他想在花店的门口摆上一排花,共m盆.通过调查顾客的喜好,小明列出了顾客最喜欢的n种花,从1到n标号.为了在门口展出更多种花,规定第i种花不能超过ai盆,摆花时同一种花放在一起,且不同种类的花需按标号的从小到大的顺序依次摆列. 试编程计算,一共有多少种不同的摆花方案. 输入格式 第一行包含两个正整数n和m,中间用一个空格隔开. 第二行有n个整数,每两个整数之间用一个空格隔开,依次表示a1.a2.……an. 输出格式 输出只有一行,一个整数,表示有多少种方案…
2017年蓝桥杯B组C/C++决赛题目(不含答案) 1.36进制 ok 求36进制,类比二进制转10进制,36^3 + 36^2 + 36^1 + 36^0 2.磁砖样式 ok dfs搜索 我自己写的答案不对dfs多搜了一些,原因是 判断条件不能连等于 例如a==b==c==d 是错误的,已经改正 #include <stdio.h> #include <string.h> #include <map> #include <algorithm> using…
2018年第九届蓝桥杯B组C/C++决赛题解 点击查看2018年蓝桥杯B组C/C++决赛题目(不含答案) 1.换零钞 ok 枚举 设x表示1元钱的个数,y表示2元钱的个数,z表示5元钱的个数 x+210y+5y == 200,求x+y+z的最小值 2.激光样式 ok 思路1:dfs搜索 每个位置两种情况:开激光(在前一个激光没打开的情况下).不开激光 思路2:dp动态规划思想 dp[i] 表示前i个激光灯的方案数 状态转移方程:dp[i] = dp[i-1] + dp[i-2] //当前方案数…