![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
算法基础
晚安Alice
软工/学习日常
展开
-
蓝桥杯回形取数
看的别人的解法,就是按照下右上左的顺序走圈,一直到m*n个数走完为止这里要注意越界的数组的值也是0,所以while跳出后要将++i的值减回来#include <iostream>#include <stdio.h>#include <cstring>using namespace std;int a[201][201];//int b[21];int main(){ int m,n; cin >> m >> n; //原创 2021-04-17 20:29:25 · 79 阅读 · 0 评论 -
蓝桥杯FJ字符串
问题描述FJ在沙盘上写了这样一些字符串: A1 = “A” A2 = “ABA” A3 = “ABACABA” A4 = “ABACABADABACABA” … … 你能找出其中的规律并写所有的数列AN吗?输入格式仅有一个数:N ≤ 26。输出格式请输出相应的字符串AN,以一个换行符结束。输出中不得含有多余的空格或换行、回车符。样例输入3样例输出ABACABA这里我们注意 ‘A’+2 输出的是数字(ASCII码)要想输出字母需要前面转化成(char)(‘A’+2)原创 2021-04-17 15:54:12 · 613 阅读 · 0 评论 -
蓝桥杯矩阵的幂
一定要注意a和b数组不能直接进行运算,都会对后面的运算产生影响,还有就是幂次:0次幂是单位数组(左上角到右下角为1,其他位置为0) 1次幂是本身 这两种单独讨论 2次幂才会乘一次 所以当m>2时循环的次数是1#include <iostream>#include <stdio.h>#include <cstring>using namespace std;int a[35][35];int b[35][35];int c[35][35];int原创 2021-04-17 11:25:48 · 126 阅读 · 0 评论 -
蓝桥杯分解质因数
需要有逻辑 要不然走不出来 一见到不确定能拆成几项的就用while循环#include <iostream>#include <stdio.h>#include <cstring>#include <queue>#include <math.h>#include <vector>#include <algorithm>using namespace std;//int a[5]; //int v[52]原创 2021-04-17 09:56:19 · 81 阅读 · 0 评论 -
1384全排列
刚学完没几天就忘了怎么写了给出一个字符串S(可能有重复的字符),按照字典序从小到大,输出S包括的字符组成的所有排列。#include <iostream>#include <stdio.h>#include <cstring>#include <queue>#include <vector>#include <algorithm>using namespace std;int a[4];//2019BYQchar原创 2021-04-15 19:37:33 · 88 阅读 · 0 评论 -
算法与程序的区别和联系(转)
转载自:算法与程序的区别和联系算法可以理解为有基本运算及规定的运算顺序所构成的完整的解题步骤。或者看成按照要求设计好的有限的确切的计算序列,并且这样的步骤和序列可以解决一类问题。 算法是若干指令的有穷序列,满足性质: (1)输入:由外部提供的量作为算法的输入。 (2)输出:算法产生至少一个量作为输出。 (3)确定性:组成算法的每条指令是清晰,无歧义的。 (4)有限性:算法中每条指令的执行次数是有限的,执行每条指令的时间也是有限的。 (5)可行性:算法中所有的操作都必须足够基本,使算法的执行者或阅读者明确转载 2020-10-05 09:24:53 · 3354 阅读 · 0 评论 -
算法导论------渐近记号Θ、Ο、o、Ω、ω详解(转载)
转载自:https://blog.csdn.net/so_geili/article/details/53353593转载 2020-10-05 08:35:29 · 219 阅读 · 0 评论 -
递归——表达式计算(c++)
声明:解法来自 北京大学 郭炜老师的程序设计与算法(二)算法基础仅作学习笔记问题描述输入为四则运算表达式,仅由数字+、-、*、/、(、)组成,没有空格,要求求其值。假设运算符结果都是整数。"/"结果也是整数。样例输入(2+3)*(5+7)+9/3样例输出63代码#include<iostream>#include <string>#include <cstring>#include <math.h> using names原创 2020-08-08 21:35:37 · 382 阅读 · 0 评论 -
递归——逆波兰式(c++)
声明:解法来自 北京大学 郭炜老师的程序设计与算法(二)算法基础仅作学习笔记问题描述逆波兰表达式是一种把运算符前置的算术表达式,例如普通的表达式2 + 3 的逆波兰表示法为+ 2 3。逆波兰表达式的优点是运算符之间不必有优先级关系,也不必用括号改变运算次序,例如(2 + 3) * 4 的逆波兰表示法为* + 2 3 4。本题求解逆波兰表达式的值,其中运算符包括 + - * / 四个。样例输入* + 11.0 12.0 + 24.0 35.0样例输出1357.000000代码#inc原创 2020-08-08 19:41:06 · 571 阅读 · 0 评论 -
递归——N皇后问题(c++)
声明:解法来自 北京大学 郭炜老师的程序设计与算法(二)算法基础问题描述在一个N*N的棋盘上放置N个皇后,每行一个并使其不能互相攻击(同一行、同一列、同一斜线上的皇后都会自动攻击)样例输入4样例输出2 4 1 33 1 4 2代码#include<iostream>#include <string>#include <cstring>#include <math.h> using namespace std;int N;原创 2020-08-08 17:48:22 · 839 阅读 · 0 评论 -
枚举与位运算——熄灯问题(c++)
声明:解法来自 北京大学 郭炜老师的程序设计与算法(二)算法基础题目描述右边)的灯都会改变一次。即,如果灯原来是点亮的,就会被熄灭;如果灯原来是熄灭的,则会被点亮。在矩阵角上的按钮改变3盏灯的状态;在矩阵边上的按钮改变4盏灯的状态;其他的按钮改变5盏灯的状态。在上图中,左边矩阵中用X标记的按钮表示被按下,右边的矩阵表示灯状态的改变。对矩阵中的每盏灯设置一个初始状态。请你按按钮,直至每一盏等都熄灭。与一盏灯毗邻的多个按钮被按下时,一个操作会抵消另一次操作的结果。在下图中,第2行第3、5列的按钮都被按下原创 2020-08-05 18:36:40 · 961 阅读 · 0 评论