![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
c++
kaka_d
这个作者很懒,什么都没留下…
展开
-
算法笔记-数组元素循环右移问题
#include <iostream> using namespace std; int main() { int a[110]; int n,m,count=0;//count记录已经输出数的个数 cin>>n>>m; for(int i=0;i<n;i++){ cin>>a[i]; } for(int i=n-m;i<n;i++){//输出n-m号到n-1号 ...原创 2021-04-17 11:12:51 · 71 阅读 · 0 评论 -
动态规划
最少硬币问题 【题目描述】 使用3枚币值分别为 1、3、5的硬币兑换11,最少需要几枚硬币。 【思路】 确定状态 : -最后一步:最优策略中使用的最后一枚硬币ak -化成子问题:用最少的硬币依次从小面值拼到大面值 -状态:tmp[x]=最少用多少枚硬币拼出x 转移方程:tmp[i]=min{tmp[i-1]+1,tmp[i-3]+1,tmp[i-5]+1} 初始条件和边界情况:设初始值:tmp[0]=0因为转移方程无法求出tmp[0];若不能拼出来i,则tmp[i]为无穷大; .原创 2021-03-31 17:13:11 · 169 阅读 · 0 评论 -
贪心算法
求硬币个数 有1元、5元、10元、50元、100元、500元的硬币各C1,C5,C10,C50,C100,C500枚。现在要用这些硬币来支付A元,最少需要多少枚硬币?假设本题至少存在一种支付方案。 限制条件: 0<=C1,C5,C10,C50,C100,C500<=10的9次方 0<= A <= 10的9次方 l例如: 输入: C1 = 3 ,C2 = 2, C10 = 1 , C50 = 3, C100 = 0 ,C500 = 2 ,A = 620 输出: 6(5...原创 2021-03-19 17:31:01 · 54 阅读 · 0 评论 -
宽度优先遍历-迷宫的最短路径
迷宫的最短路径 输出:22 #include<bits/stdc++.h> #define INF 10000000 using namespace std; typedef pair<int,int> P; char c[105][105];//表示迷宫的字符串的数组 int N,M; int sx,sy;//起点坐标 int gx,gy;//终点坐标 int d[105][105];//到各个位置的最短距离的数组 int dx[4]={1,0,-1,0},dy[4]={原创 2021-03-19 15:15:06 · 148 阅读 · 0 评论 -
lake counting -深度优先遍历
Lake Counting Lake counting 问题 思路:深度优先遍历 举例: 输入:10 12 W........WW. .WWW.....WWW ....WW...WW. .........WW. .........W.. ..W......W.. .W.W.....WW. W.W.W.....W. .W.W......W. ..W.......W. 输出:3 #include <bits/stdc++.h> using namespace std; char .原创 2021-03-15 18:03:56 · 135 阅读 · 0 评论 -
蓝桥杯-数的分解
把2019 分解成3 个各不相同的正整数之和,并且要求每个正整数都不包含数字 2 和 4,一共有多少种不同的分解方法? 注意交换3个整数的顺序被视为同一种方法,例如1000+1001+18 和 1001+1000+18 被视为同一种。 思路:首先,三个数都不包含2和4,可设置一个函数过滤 其次,三个数都不大于2019/3,三个数的关系为:i<j<2019-i-j 最后,让次数循环累加 #include<bits/stdc++.h> using namespace std;原创 2021-03-12 17:55:02 · 202 阅读 · 2 评论 -
试题 基础练习 Fibonacci数列 蓝桥杯
试题 基础练习 Fibonacci数列 问题描述 Fibonacci数列的递推公式为:Fn=Fn-1+Fn-2,其中F1=F2=1。 当n比较大时,Fn也非常大,现在我们想知道,Fn除以10007的余数是多少。 输入格式 输入包含一个整数n。 输出格式 输出一行,包含一个整数,表示Fn除以10007的余数。 说明:在本题中,答案是要求Fn除以10007的余数,因此我们只要能算出这个余数即可,而不需要先计算出Fn的准确值,再将计算的结果除以10007取余数,直接计算余数往往比先算出原数再取余简单。 样原创 2021-03-10 19:28:48 · 202 阅读 · 0 评论 -
2021-03-09
#include <iostream> using namespace std; int main(){ int n,m; cin>>n>>m; for(int i=1;i<=n;i++){ for(int j=1;j<=m;j++) cout<<"+-"; cout<<"+"<<endl;; for(int j=1;j<.原创 2021-03-09 19:22:49 · 53 阅读 · 0 评论 -
升级三角形
//升级版三角形 #include<iostream> using namespace std; int main(){ char c; cin >>c; //下面分两种情况,一种情况是字母的情况,另外一种情况是数字的情况 if(c>='A'&&c<='Z'){ for(int i=0;i<=c-'A';i++){ //画空格 for(int j =0.原创 2021-03-09 18:23:25 · 83 阅读 · 0 评论 -
统计二叉树中度为1,2的结点个数c++
#include<iostream> using namespace std; //字符类型 #define TElemType char //二叉树的二叉链表的表示与实现 typedef struct BiTNode{ TElemType data; struct BiTNode *lchild,*rchild; }BiTNode,*BiTree; //先序创建二叉树 BiTree CreateBiTree() { char ch; BiTree T; cin>原创 2020-10-24 20:26:17 · 1877 阅读 · 0 评论